diff --git a/res/layout-xlarge/contact_browser.xml b/res/layout-xlarge/contact_browser.xml
index bb4c2fc..e11ebab 100644
--- a/res/layout-xlarge/contact_browser.xml
+++ b/res/layout-xlarge/contact_browser.xml
@@ -57,9 +57,9 @@
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             ex:layout_narrowParentWidth="800dip"
-            ex:layout_narrowRightMargin="0dip"
+            ex:layout_narrowMarginRight="0dip"
             ex:layout_wideParentWidth="1280dip"
-            ex:layout_wideRightMargin="48dip"
+            ex:layout_wideMarginRight="48dip"
             ex:clipMarginLeft="0dip"
             ex:clipMarginTop="3dip"
             ex:clipMarginRight="3dip"
@@ -86,11 +86,11 @@
             android:layout_height="match_parent"
             android:layout_width="match_parent"
             ex:layout_narrowParentWidth="800dip"
-            ex:layout_narrowLeftMargin="80dip"
-            ex:layout_narrowRightMargin="80dip"
+            ex:layout_narrowMarginLeft="80dip"
+            ex:layout_narrowMarginRight="80dip"
             ex:layout_wideParentWidth="1280dip"
-            ex:layout_wideLeftMargin="200dip"
-            ex:layout_wideRightMargin="200dip"
+            ex:layout_wideMarginLeft="200dip"
+            ex:layout_wideMarginRight="200dip"
             android:paddingBottom="20dip" />
 
     </com.android.contacts.widget.InterpolatingLayout>
diff --git a/res/layout-xlarge/contact_detail_fragment.xml b/res/layout-xlarge/contact_detail_fragment.xml
index 4bc2a04..4c1759d 100644
--- a/res/layout-xlarge/contact_detail_fragment.xml
+++ b/res/layout-xlarge/contact_detail_fragment.xml
@@ -34,11 +34,11 @@
             android:layout_height="wrap_content"
             android:layout_marginBottom="28dip"
             ex:layout_wideParentWidth="800dip"
-            ex:layout_wideLeftMargin="80dip"
-            ex:layout_wideRightMargin="48dip"
+            ex:layout_wideMarginLeft="80dip"
+            ex:layout_wideMarginRight="48dip"
             ex:layout_narrowParentWidth="500dip"
-            ex:layout_narrowLeftMargin="15dip"
-            ex:layout_narrowRightMargin="5dip"
+            ex:layout_narrowMarginLeft="15dip"
+            ex:layout_narrowMarginRight="5dip"
         />
     </com.android.contacts.widget.InterpolatingLayout>
 
@@ -55,9 +55,9 @@
             android:textSize="20sp"
             android:textColor="?android:attr/textColorSecondary"
             ex:layout_wideParentWidth="800dip"
-            ex:layout_wideLeftMargin="64dip"
+            ex:layout_wideMarginLeft="64dip"
             ex:layout_narrowParentWidth="500dip"
-            ex:layout_narrowLeftMargin="42dip"
+            ex:layout_narrowMarginLeft="42dip"
             android:paddingTop="10dip"
             android:lineSpacingMultiplier="0.92"
         />
@@ -72,11 +72,11 @@
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             ex:layout_wideParentWidth="800dip"
-            ex:layout_wideLeftMargin="64dip"
-            ex:layout_wideRightPadding="48dip"
+            ex:layout_wideMarginLeft="64dip"
+            ex:layout_widePaddingRight="48dip"
             ex:layout_narrowParentWidth="500dip"
-            ex:layout_narrowLeftMargin="32dip"
-            ex:layout_narrowRightPadding="0dip"
+            ex:layout_narrowMarginLeft="32dip"
+            ex:layout_narrowPaddingRight="0dip"
             android:cacheColorHint="#00000000"
             android:divider="@android:color/transparent"
         />
diff --git a/res/layout-xlarge/contact_editor_activity.xml b/res/layout-xlarge/contact_editor_activity.xml
index c146515..b9f98a3 100644
--- a/res/layout-xlarge/contact_editor_activity.xml
+++ b/res/layout-xlarge/contact_editor_activity.xml
@@ -28,11 +28,11 @@
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             ex:layout_wideParentWidth="1280dip"
-            ex:layout_wideLeftMargin="160dip"
-            ex:layout_wideRightMargin="160dip"
+            ex:layout_wideMarginLeft="160dip"
+            ex:layout_wideMarginRight="160dip"
             ex:layout_narrowParentWidth="800dip"
-            ex:layout_narrowLeftMargin="0dip"
-            ex:layout_narrowRightMargin="0dip"
+            ex:layout_narrowMarginLeft="0dip"
+            ex:layout_narrowMarginRight="0dip"
          />
     </com.android.contacts.widget.InterpolatingLayout>
 </ScrollView>
diff --git a/res/layout-xlarge/external_raw_contact_editor_view.xml b/res/layout-xlarge/external_raw_contact_editor_view.xml
index ffda3a5..156a5a9 100644
--- a/res/layout-xlarge/external_raw_contact_editor_view.xml
+++ b/res/layout-xlarge/external_raw_contact_editor_view.xml
@@ -45,11 +45,11 @@
                 android:layout_height="wrap_content"
                 android:orientation="vertical"
                 ex:layout_wideParentWidth="960dip"
-                ex:layout_wideLeftMargin="96dip"
-                ex:layout_wideRightMargin="96dip"
+                ex:layout_wideMarginLeft="96dip"
+                ex:layout_wideMarginRight="96dip"
                 ex:layout_narrowParentWidth="800dip"
-                ex:layout_narrowLeftMargin="15dip"
-                ex:layout_narrowRightMargin="15dip">
+                ex:layout_narrowMarginLeft="15dip"
+                ex:layout_narrowMarginRight="15dip">
 
                 <TextView
                     android:id="@+id/read_only_name"
@@ -100,11 +100,11 @@
                 android:id="@+id/button_edit_externally"
                 android:text="@string/edit_contact"
                 ex:layout_wideParentWidth="960dip"
-                ex:layout_wideLeftMargin="240dip"
-                ex:layout_wideRightMargin="190dip"
+                ex:layout_wideMarginLeft="240dip"
+                ex:layout_wideMarginRight="190dip"
                 ex:layout_narrowParentWidth="800dip"
-                ex:layout_narrowLeftMargin="160dip"
-                ex:layout_narrowRightMargin="102dip"
+                ex:layout_narrowMarginLeft="160dip"
+                ex:layout_narrowMarginRight="102dip"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
             />
diff --git a/res/layout-xlarge/raw_contact_editor_photo.xml b/res/layout-xlarge/raw_contact_editor_photo.xml
index b1b86fb..4da7b4a 100644
--- a/res/layout-xlarge/raw_contact_editor_photo.xml
+++ b/res/layout-xlarge/raw_contact_editor_photo.xml
@@ -24,9 +24,9 @@
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         ex:layout_wideParentWidth="960dip"
-        ex:layout_wideLeftMargin="96dip"
+        ex:layout_wideMarginLeft="96dip"
         ex:layout_narrowParentWidth="800dip"
-        ex:layout_narrowLeftMargin="15dip">
+        ex:layout_narrowMarginLeft="15dip">
 
         <include
             android:id="@+id/edit_photo"
diff --git a/res/layout-xlarge/raw_contact_editor_view.xml b/res/layout-xlarge/raw_contact_editor_view.xml
index 3560fa6..fecdd1f 100644
--- a/res/layout-xlarge/raw_contact_editor_view.xml
+++ b/res/layout-xlarge/raw_contact_editor_view.xml
@@ -46,11 +46,11 @@
                 android:layout_height="wrap_content"
                 android:orientation="vertical"
                 ex:layout_wideParentWidth="960dip"
-                ex:layout_wideLeftMargin="96dip"
-                ex:layout_wideRightMargin="96dip"
+                ex:layout_wideMarginLeft="96dip"
+                ex:layout_wideMarginRight="96dip"
                 ex:layout_narrowParentWidth="800dip"
-                ex:layout_narrowLeftMargin="15dip"
-                ex:layout_narrowRightMargin="15dip"
+                ex:layout_narrowMarginLeft="15dip"
+                ex:layout_narrowMarginRight="15dip"
                 >
 
                 <com.android.contacts.editor.TextFieldsEditorView
@@ -87,11 +87,11 @@
                 android:id="@+id/button_add_field"
                 android:text="@string/add_field"
                 ex:layout_wideParentWidth="960dip"
-                ex:layout_wideLeftMargin="240dip"
-                ex:layout_wideRightMargin="190dip"
+                ex:layout_wideMarginLeft="240dip"
+                ex:layout_wideMarginRight="190dip"
                 ex:layout_narrowParentWidth="800dip"
-                ex:layout_narrowLeftMargin="160dip"
-                ex:layout_narrowRightMargin="102dip"
+                ex:layout_narrowMarginLeft="160dip"
+                ex:layout_narrowMarginRight="102dip"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
             />
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 87f7b94..18e694b 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -173,16 +173,16 @@
     <declare-styleable name="InterpolatingLayout_Layout">
         <attr name="layout_narrowParentWidth" format="dimension"/>
         <attr name="layout_narrowWidth" format="dimension"/>
-        <attr name="layout_narrowLeftMargin" format="dimension"/>
-        <attr name="layout_narrowLeftPadding" format="dimension"/>
-        <attr name="layout_narrowRightMargin" format="dimension"/>
-        <attr name="layout_narrowRightPadding" format="dimension"/>
+        <attr name="layout_narrowMarginLeft" format="dimension"/>
+        <attr name="layout_narrowMarginRight" format="dimension"/>
+        <attr name="layout_narrowPaddingLeft" format="dimension"/>
+        <attr name="layout_narrowPaddingRight" format="dimension"/>
         <attr name="layout_wideParentWidth" format="dimension"/>
         <attr name="layout_wideWidth" format="dimension"/>
-        <attr name="layout_wideLeftMargin" format="dimension"/>
-        <attr name="layout_wideLeftPadding" format="dimension"/>
-        <attr name="layout_wideRightMargin" format="dimension"/>
-        <attr name="layout_wideRightPadding" format="dimension"/>
+        <attr name="layout_wideMarginLeft" format="dimension"/>
+        <attr name="layout_wideMarginRight" format="dimension"/>
+        <attr name="layout_widePaddingLeft" format="dimension"/>
+        <attr name="layout_widePaddingRight" format="dimension"/>
     </declare-styleable>
     
     <declare-styleable name="TransitionAnimationView">
diff --git a/src/com/android/contacts/widget/InterpolatingLayout.java b/src/com/android/contacts/widget/InterpolatingLayout.java
index 63fc2f6..96d7347 100644
--- a/src/com/android/contacts/widget/InterpolatingLayout.java
+++ b/src/com/android/contacts/widget/InterpolatingLayout.java
@@ -57,16 +57,16 @@
 
         public int narrowParentWidth;
         public int narrowWidth;
-        public int narrowLeftMargin;
-        public int narrowLeftPadding;
-        public int narrowRightMargin;
-        public int narrowRightPadding;
+        public int narrowMarginLeft;
+        public int narrowPaddingLeft;
+        public int narrowMarginRight;
+        public int narrowPaddingRight;
         public int wideParentWidth;
         public int wideWidth;
-        public int wideLeftMargin;
-        public int wideLeftPadding;
-        public int wideRightMargin;
-        public int wideRightPadding;
+        public int wideMarginLeft;
+        public int widePaddingLeft;
+        public int wideMarginRight;
+        public int widePaddingRight;
         private float widthMultiplier;
         private int widthConstant;
         private float leftMarginMultiplier;
@@ -86,26 +86,26 @@
                     R.styleable.InterpolatingLayout_Layout_layout_narrowParentWidth, -1);
             narrowWidth = a.getDimensionPixelSize(
                     R.styleable.InterpolatingLayout_Layout_layout_narrowWidth, -1);
-            narrowLeftMargin = a.getDimensionPixelSize(
-                    R.styleable.InterpolatingLayout_Layout_layout_narrowLeftMargin, -1);
-            narrowLeftPadding = a.getDimensionPixelSize(
-                    R.styleable.InterpolatingLayout_Layout_layout_narrowLeftPadding, -1);
-            narrowRightMargin = a.getDimensionPixelSize(
-                    R.styleable.InterpolatingLayout_Layout_layout_narrowRightMargin, -1);
-            narrowRightPadding = a.getDimensionPixelSize(
-                    R.styleable.InterpolatingLayout_Layout_layout_narrowRightPadding, -1);
+            narrowMarginLeft = a.getDimensionPixelSize(
+                    R.styleable.InterpolatingLayout_Layout_layout_narrowMarginLeft, -1);
+            narrowPaddingLeft = a.getDimensionPixelSize(
+                    R.styleable.InterpolatingLayout_Layout_layout_narrowPaddingLeft, -1);
+            narrowMarginRight = a.getDimensionPixelSize(
+                    R.styleable.InterpolatingLayout_Layout_layout_narrowMarginRight, -1);
+            narrowPaddingRight = a.getDimensionPixelSize(
+                    R.styleable.InterpolatingLayout_Layout_layout_narrowPaddingRight, -1);
             wideParentWidth = a.getDimensionPixelSize(
                     R.styleable.InterpolatingLayout_Layout_layout_wideParentWidth, -1);
             wideWidth = a.getDimensionPixelSize(
                     R.styleable.InterpolatingLayout_Layout_layout_wideWidth, -1);
-            wideLeftMargin = a.getDimensionPixelSize(
-                    R.styleable.InterpolatingLayout_Layout_layout_wideLeftMargin, -1);
-            wideLeftPadding = a.getDimensionPixelSize(
-                    R.styleable.InterpolatingLayout_Layout_layout_wideLeftPadding, -1);
-            wideRightMargin = a.getDimensionPixelSize(
-                    R.styleable.InterpolatingLayout_Layout_layout_wideRightMargin, -1);
-            wideRightPadding = a.getDimensionPixelSize(
-                    R.styleable.InterpolatingLayout_Layout_layout_wideRightPadding, -1);
+            wideMarginLeft = a.getDimensionPixelSize(
+                    R.styleable.InterpolatingLayout_Layout_layout_wideMarginLeft, -1);
+            widePaddingLeft = a.getDimensionPixelSize(
+                    R.styleable.InterpolatingLayout_Layout_layout_widePaddingLeft, -1);
+            wideMarginRight = a.getDimensionPixelSize(
+                    R.styleable.InterpolatingLayout_Layout_layout_wideMarginRight, -1);
+            widePaddingRight = a.getDimensionPixelSize(
+                    R.styleable.InterpolatingLayout_Layout_layout_widePaddingRight, -1);
 
             a.recycle();
 
@@ -115,31 +115,31 @@
                 widthConstant = (int) (narrowWidth - narrowParentWidth * widthMultiplier);
             }
 
-            if (narrowLeftMargin != -1) {
-                leftMarginMultiplier = (float) (wideLeftMargin - narrowLeftMargin)
+            if (narrowMarginLeft != -1) {
+                leftMarginMultiplier = (float) (wideMarginLeft - narrowMarginLeft)
                         / (wideParentWidth - narrowParentWidth);
-                leftMarginConstant = (int) (narrowLeftMargin - narrowParentWidth
+                leftMarginConstant = (int) (narrowMarginLeft - narrowParentWidth
                         * leftMarginMultiplier);
             }
 
-            if (narrowLeftPadding != -1) {
-                leftPaddingMultiplier = (float) (wideLeftPadding - narrowLeftPadding)
+            if (narrowPaddingLeft != -1) {
+                leftPaddingMultiplier = (float) (widePaddingLeft - narrowPaddingLeft)
                         / (wideParentWidth - narrowParentWidth);
-                leftPaddingConstant = (int) (narrowLeftPadding - narrowParentWidth
+                leftPaddingConstant = (int) (narrowPaddingLeft - narrowParentWidth
                         * leftPaddingMultiplier);
             }
 
-            if (narrowRightMargin != -1) {
-                rightMarginMultiplier = (float) (wideRightMargin - narrowRightMargin)
+            if (narrowMarginRight != -1) {
+                rightMarginMultiplier = (float) (wideMarginRight - narrowMarginRight)
                         / (wideParentWidth - narrowParentWidth);
-                rightMarginConstant = (int) (narrowRightMargin - narrowParentWidth
+                rightMarginConstant = (int) (narrowMarginRight - narrowParentWidth
                         * rightMarginMultiplier);
             }
 
-            if (narrowRightPadding != -1) {
-                rightPaddingMultiplier = (float) (wideRightPadding - narrowRightPadding)
+            if (narrowPaddingRight != -1) {
+                rightPaddingMultiplier = (float) (widePaddingRight - narrowPaddingRight)
                         / (wideParentWidth - narrowParentWidth);
-                rightPaddingConstant = (int) (narrowRightPadding - narrowParentWidth
+                rightPaddingConstant = (int) (narrowPaddingRight - narrowParentWidth
                         * rightPaddingMultiplier);
             }
         }
@@ -162,7 +162,7 @@
         }
 
         public int resolveLeftMargin(int parentSize) {
-            if (narrowLeftMargin == -1) {
+            if (narrowMarginLeft == -1) {
                 return leftMargin;
             } else {
                 int w = (int) (parentSize * leftMarginMultiplier) + leftMarginConstant;
@@ -176,7 +176,7 @@
         }
 
         public int resolveRightMargin(int parentSize) {
-            if (narrowRightMargin == -1) {
+            if (narrowMarginRight == -1) {
                 return rightMargin;
             } else {
                 int w = (int) (parentSize * rightMarginMultiplier) + rightMarginConstant;
@@ -289,10 +289,10 @@
                 gravity = Gravity.LEFT | Gravity.TOP;
             }
 
-            if (params.narrowLeftPadding != -1 || params.narrowRightPadding != -1) {
-                int leftPadding = params.narrowLeftPadding == -1 ? child.getPaddingLeft()
+            if (params.narrowPaddingLeft != -1 || params.narrowPaddingRight != -1) {
+                int leftPadding = params.narrowPaddingLeft == -1 ? child.getPaddingLeft()
                         : params.resolveLeftPadding(width);
-                int rightPadding = params.narrowRightPadding == -1 ? child.getPaddingRight()
+                int rightPadding = params.narrowPaddingRight == -1 ? child.getPaddingRight()
                         : params.resolveRightPadding(width);
                 child.setPadding(
                         leftPadding, child.getPaddingTop(), rightPadding, child.getPaddingBottom());
@@ -305,8 +305,7 @@
                     right - left - offset - rightMargin,
                     bottom - top - params.bottomMargin);
 
-            int height = Math.max(child.getMeasuredHeight(), mInRect.height());
-            Gravity.apply(gravity, child.getMeasuredWidth(), height,
+            Gravity.apply(gravity, child.getMeasuredWidth(), child.getMeasuredHeight(),
                     mInRect, mOutRect);
             child.layout(mOutRect.left, mOutRect.top, mOutRect.right, mOutRect.bottom);
 
