[go: nahoru, domu]

Rename padding modifier to Spacing

Test: built and ran ui-layout tests
Change-Id: Id614727f8575ef53f4d3d58e3320de12f1895956
diff --git a/ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/benchmark/test/PaddingBenchmark.kt b/ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/benchmark/test/SpacingBenchmark.kt
similarity index 98%
rename from ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/benchmark/test/PaddingBenchmark.kt
rename to ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/benchmark/test/SpacingBenchmark.kt
index e5772b2..2e20e89 100644
--- a/ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/benchmark/test/PaddingBenchmark.kt
+++ b/ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/benchmark/test/SpacingBenchmark.kt
@@ -40,7 +40,7 @@
 import androidx.ui.core.setContent
 import androidx.ui.layout.Container
 import androidx.ui.layout.Padding
-import androidx.ui.layout.padding
+import androidx.ui.layout.Spacing
 import androidx.ui.test.ComposeTestCase
 import androidx.ui.test.DisableTransitions
 import androidx.ui.test.ToggleableTestCase
@@ -201,7 +201,7 @@
 
     @Composable
     override fun emitPaddedContainer(padding: Dp, child: @Composable() () -> Unit) {
-        Container(expanded = true, modifier = padding(padding), children = child)
+        Container(expanded = true, modifier = Spacing(padding), children = child)
     }
 }
 
diff --git a/ui/ui-layout/api/0.1.0-dev02.txt b/ui/ui-layout/api/0.1.0-dev02.txt
index ea2156c..d4a75d0 100644
--- a/ui/ui-layout/api/0.1.0-dev02.txt
+++ b/ui/ui-layout/api/0.1.0-dev02.txt
@@ -1,29 +1,6 @@
 // Signature format: 3.0
 package androidx.ui.layout {
 
-  public final class AbsolutePadding implements androidx.ui.core.LayoutModifier {
-    ctor public AbsolutePadding(androidx.ui.core.Dp left, androidx.ui.core.Dp top, androidx.ui.core.Dp right, androidx.ui.core.Dp bottom);
-    ctor public AbsolutePadding();
-    method public androidx.ui.core.Dp component1();
-    method public androidx.ui.core.Dp component2();
-    method public androidx.ui.core.Dp component3();
-    method public androidx.ui.core.Dp component4();
-    method public androidx.ui.layout.AbsolutePadding copy(androidx.ui.core.Dp left, androidx.ui.core.Dp top, androidx.ui.core.Dp right, androidx.ui.core.Dp bottom);
-    method public androidx.ui.core.Dp getBottom();
-    method public androidx.ui.core.Dp getLeft();
-    method public androidx.ui.core.Dp getRight();
-    method public androidx.ui.core.Dp getTop();
-    method public androidx.ui.core.IntPx maxIntrinsicHeightOf(androidx.ui.core.DensityScope, androidx.ui.core.Measurable measurable, androidx.ui.core.IntPx width);
-    method public androidx.ui.core.IntPx maxIntrinsicWidthOf(androidx.ui.core.DensityScope, androidx.ui.core.Measurable measurable, androidx.ui.core.IntPx height);
-    method public androidx.ui.core.IntPx minIntrinsicHeightOf(androidx.ui.core.DensityScope, androidx.ui.core.Measurable measurable, androidx.ui.core.IntPx width);
-    method public androidx.ui.core.IntPx minIntrinsicWidthOf(androidx.ui.core.DensityScope, androidx.ui.core.Measurable measurable, androidx.ui.core.IntPx height);
-    method public androidx.ui.core.IntPx? modifyAlignmentLine(androidx.ui.core.DensityScope, androidx.ui.core.AlignmentLine line, androidx.ui.core.IntPx? value);
-    method public androidx.ui.core.Constraints modifyConstraints(androidx.ui.core.DensityScope, androidx.ui.core.Constraints constraints);
-    method public Object? modifyParentData(androidx.ui.core.DensityScope, Object? parentData);
-    method public androidx.ui.core.IntPxPosition modifyPosition(androidx.ui.core.DensityScope, androidx.ui.core.IntPxPosition childPosition, androidx.ui.core.IntPxSize childSize, androidx.ui.core.IntPxSize containerSize);
-    method public androidx.ui.core.IntPxSize modifySize(androidx.ui.core.DensityScope, androidx.ui.core.Constraints constraints, androidx.ui.core.IntPxSize childSize);
-  }
-
   public final class AlignKt {
     ctor public AlignKt();
     method public static void Align(androidx.ui.core.Alignment alignment, kotlin.jvm.functions.Function0<kotlin.Unit> children);
@@ -185,16 +162,6 @@
     enum_constant public static final androidx.ui.layout.MainAxisAlignment Start;
   }
 
-  public final class PaddingKt {
-    ctor public PaddingKt();
-    method public static void Padding(androidx.ui.layout.EdgeInsets padding, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Padding(androidx.ui.core.Dp left = 0.dp, androidx.ui.core.Dp top = 0.dp, androidx.ui.core.Dp right = 0.dp, androidx.ui.core.Dp bottom = 0.dp, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Padding(androidx.ui.core.Dp padding, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static androidx.ui.layout.AbsolutePadding absolutePadding(androidx.ui.core.Dp left = 0.dp, androidx.ui.core.Dp top = 0.dp, androidx.ui.core.Dp right = 0.dp, androidx.ui.core.Dp bottom = 0.dp);
-    method public static androidx.ui.layout.AbsolutePadding padding(androidx.ui.core.Dp all = 0.dp);
-    method public static androidx.ui.layout.AbsolutePadding padding(androidx.ui.core.Dp horizontal = 0.dp, androidx.ui.core.Dp vertical = 0.dp);
-  }
-
   public final class SpacerKt {
     ctor public SpacerKt();
     method public static void FixedSpacer(androidx.ui.core.Dp width, androidx.ui.core.Dp height);
@@ -202,6 +169,15 @@
     method public static void WidthSpacer(androidx.ui.core.Dp width);
   }
 
+  public final class SpacingKt {
+    ctor public SpacingKt();
+    method public static void Padding(androidx.ui.layout.EdgeInsets padding, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Padding(androidx.ui.core.Dp left = 0.dp, androidx.ui.core.Dp top = 0.dp, androidx.ui.core.Dp right = 0.dp, androidx.ui.core.Dp bottom = 0.dp, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Padding(androidx.ui.core.Dp padding, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static androidx.ui.core.LayoutModifier Spacing(androidx.ui.core.Dp left = 0.dp, androidx.ui.core.Dp top = 0.dp, androidx.ui.core.Dp right = 0.dp, androidx.ui.core.Dp bottom = 0.dp);
+    method public static androidx.ui.core.LayoutModifier Spacing(androidx.ui.core.Dp all = 0.dp);
+  }
+
   public final class StackChildren {
     ctor public StackChildren();
     method public void aligned(androidx.ui.core.Alignment alignment, boolean loose = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
diff --git a/ui/ui-layout/api/current.txt b/ui/ui-layout/api/current.txt
index ea2156c..d4a75d0 100644
--- a/ui/ui-layout/api/current.txt
+++ b/ui/ui-layout/api/current.txt
@@ -1,29 +1,6 @@
 // Signature format: 3.0
 package androidx.ui.layout {
 
-  public final class AbsolutePadding implements androidx.ui.core.LayoutModifier {
-    ctor public AbsolutePadding(androidx.ui.core.Dp left, androidx.ui.core.Dp top, androidx.ui.core.Dp right, androidx.ui.core.Dp bottom);
-    ctor public AbsolutePadding();
-    method public androidx.ui.core.Dp component1();
-    method public androidx.ui.core.Dp component2();
-    method public androidx.ui.core.Dp component3();
-    method public androidx.ui.core.Dp component4();
-    method public androidx.ui.layout.AbsolutePadding copy(androidx.ui.core.Dp left, androidx.ui.core.Dp top, androidx.ui.core.Dp right, androidx.ui.core.Dp bottom);
-    method public androidx.ui.core.Dp getBottom();
-    method public androidx.ui.core.Dp getLeft();
-    method public androidx.ui.core.Dp getRight();
-    method public androidx.ui.core.Dp getTop();
-    method public androidx.ui.core.IntPx maxIntrinsicHeightOf(androidx.ui.core.DensityScope, androidx.ui.core.Measurable measurable, androidx.ui.core.IntPx width);
-    method public androidx.ui.core.IntPx maxIntrinsicWidthOf(androidx.ui.core.DensityScope, androidx.ui.core.Measurable measurable, androidx.ui.core.IntPx height);
-    method public androidx.ui.core.IntPx minIntrinsicHeightOf(androidx.ui.core.DensityScope, androidx.ui.core.Measurable measurable, androidx.ui.core.IntPx width);
-    method public androidx.ui.core.IntPx minIntrinsicWidthOf(androidx.ui.core.DensityScope, androidx.ui.core.Measurable measurable, androidx.ui.core.IntPx height);
-    method public androidx.ui.core.IntPx? modifyAlignmentLine(androidx.ui.core.DensityScope, androidx.ui.core.AlignmentLine line, androidx.ui.core.IntPx? value);
-    method public androidx.ui.core.Constraints modifyConstraints(androidx.ui.core.DensityScope, androidx.ui.core.Constraints constraints);
-    method public Object? modifyParentData(androidx.ui.core.DensityScope, Object? parentData);
-    method public androidx.ui.core.IntPxPosition modifyPosition(androidx.ui.core.DensityScope, androidx.ui.core.IntPxPosition childPosition, androidx.ui.core.IntPxSize childSize, androidx.ui.core.IntPxSize containerSize);
-    method public androidx.ui.core.IntPxSize modifySize(androidx.ui.core.DensityScope, androidx.ui.core.Constraints constraints, androidx.ui.core.IntPxSize childSize);
-  }
-
   public final class AlignKt {
     ctor public AlignKt();
     method public static void Align(androidx.ui.core.Alignment alignment, kotlin.jvm.functions.Function0<kotlin.Unit> children);
@@ -185,16 +162,6 @@
     enum_constant public static final androidx.ui.layout.MainAxisAlignment Start;
   }
 
-  public final class PaddingKt {
-    ctor public PaddingKt();
-    method public static void Padding(androidx.ui.layout.EdgeInsets padding, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Padding(androidx.ui.core.Dp left = 0.dp, androidx.ui.core.Dp top = 0.dp, androidx.ui.core.Dp right = 0.dp, androidx.ui.core.Dp bottom = 0.dp, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Padding(androidx.ui.core.Dp padding, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static androidx.ui.layout.AbsolutePadding absolutePadding(androidx.ui.core.Dp left = 0.dp, androidx.ui.core.Dp top = 0.dp, androidx.ui.core.Dp right = 0.dp, androidx.ui.core.Dp bottom = 0.dp);
-    method public static androidx.ui.layout.AbsolutePadding padding(androidx.ui.core.Dp all = 0.dp);
-    method public static androidx.ui.layout.AbsolutePadding padding(androidx.ui.core.Dp horizontal = 0.dp, androidx.ui.core.Dp vertical = 0.dp);
-  }
-
   public final class SpacerKt {
     ctor public SpacerKt();
     method public static void FixedSpacer(androidx.ui.core.Dp width, androidx.ui.core.Dp height);
@@ -202,6 +169,15 @@
     method public static void WidthSpacer(androidx.ui.core.Dp width);
   }
 
+  public final class SpacingKt {
+    ctor public SpacingKt();
+    method public static void Padding(androidx.ui.layout.EdgeInsets padding, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Padding(androidx.ui.core.Dp left = 0.dp, androidx.ui.core.Dp top = 0.dp, androidx.ui.core.Dp right = 0.dp, androidx.ui.core.Dp bottom = 0.dp, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Padding(androidx.ui.core.Dp padding, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static androidx.ui.core.LayoutModifier Spacing(androidx.ui.core.Dp left = 0.dp, androidx.ui.core.Dp top = 0.dp, androidx.ui.core.Dp right = 0.dp, androidx.ui.core.Dp bottom = 0.dp);
+    method public static androidx.ui.core.LayoutModifier Spacing(androidx.ui.core.Dp all = 0.dp);
+  }
+
   public final class StackChildren {
     ctor public StackChildren();
     method public void aligned(androidx.ui.core.Alignment alignment, boolean loose = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
diff --git a/ui/ui-layout/api/public_plus_experimental_0.1.0-dev02.txt b/ui/ui-layout/api/public_plus_experimental_0.1.0-dev02.txt
index ea2156c..d4a75d0 100644
--- a/ui/ui-layout/api/public_plus_experimental_0.1.0-dev02.txt
+++ b/ui/ui-layout/api/public_plus_experimental_0.1.0-dev02.txt
@@ -1,29 +1,6 @@
 // Signature format: 3.0
 package androidx.ui.layout {
 
-  public final class AbsolutePadding implements androidx.ui.core.LayoutModifier {
-    ctor public AbsolutePadding(androidx.ui.core.Dp left, androidx.ui.core.Dp top, androidx.ui.core.Dp right, androidx.ui.core.Dp bottom);
-    ctor public AbsolutePadding();
-    method public androidx.ui.core.Dp component1();
-    method public androidx.ui.core.Dp component2();
-    method public androidx.ui.core.Dp component3();
-    method public androidx.ui.core.Dp component4();
-    method public androidx.ui.layout.AbsolutePadding copy(androidx.ui.core.Dp left, androidx.ui.core.Dp top, androidx.ui.core.Dp right, androidx.ui.core.Dp bottom);
-    method public androidx.ui.core.Dp getBottom();
-    method public androidx.ui.core.Dp getLeft();
-    method public androidx.ui.core.Dp getRight();
-    method public androidx.ui.core.Dp getTop();
-    method public androidx.ui.core.IntPx maxIntrinsicHeightOf(androidx.ui.core.DensityScope, androidx.ui.core.Measurable measurable, androidx.ui.core.IntPx width);
-    method public androidx.ui.core.IntPx maxIntrinsicWidthOf(androidx.ui.core.DensityScope, androidx.ui.core.Measurable measurable, androidx.ui.core.IntPx height);
-    method public androidx.ui.core.IntPx minIntrinsicHeightOf(androidx.ui.core.DensityScope, androidx.ui.core.Measurable measurable, androidx.ui.core.IntPx width);
-    method public androidx.ui.core.IntPx minIntrinsicWidthOf(androidx.ui.core.DensityScope, androidx.ui.core.Measurable measurable, androidx.ui.core.IntPx height);
-    method public androidx.ui.core.IntPx? modifyAlignmentLine(androidx.ui.core.DensityScope, androidx.ui.core.AlignmentLine line, androidx.ui.core.IntPx? value);
-    method public androidx.ui.core.Constraints modifyConstraints(androidx.ui.core.DensityScope, androidx.ui.core.Constraints constraints);
-    method public Object? modifyParentData(androidx.ui.core.DensityScope, Object? parentData);
-    method public androidx.ui.core.IntPxPosition modifyPosition(androidx.ui.core.DensityScope, androidx.ui.core.IntPxPosition childPosition, androidx.ui.core.IntPxSize childSize, androidx.ui.core.IntPxSize containerSize);
-    method public androidx.ui.core.IntPxSize modifySize(androidx.ui.core.DensityScope, androidx.ui.core.Constraints constraints, androidx.ui.core.IntPxSize childSize);
-  }
-
   public final class AlignKt {
     ctor public AlignKt();
     method public static void Align(androidx.ui.core.Alignment alignment, kotlin.jvm.functions.Function0<kotlin.Unit> children);
@@ -185,16 +162,6 @@
     enum_constant public static final androidx.ui.layout.MainAxisAlignment Start;
   }
 
-  public final class PaddingKt {
-    ctor public PaddingKt();
-    method public static void Padding(androidx.ui.layout.EdgeInsets padding, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Padding(androidx.ui.core.Dp left = 0.dp, androidx.ui.core.Dp top = 0.dp, androidx.ui.core.Dp right = 0.dp, androidx.ui.core.Dp bottom = 0.dp, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Padding(androidx.ui.core.Dp padding, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static androidx.ui.layout.AbsolutePadding absolutePadding(androidx.ui.core.Dp left = 0.dp, androidx.ui.core.Dp top = 0.dp, androidx.ui.core.Dp right = 0.dp, androidx.ui.core.Dp bottom = 0.dp);
-    method public static androidx.ui.layout.AbsolutePadding padding(androidx.ui.core.Dp all = 0.dp);
-    method public static androidx.ui.layout.AbsolutePadding padding(androidx.ui.core.Dp horizontal = 0.dp, androidx.ui.core.Dp vertical = 0.dp);
-  }
-
   public final class SpacerKt {
     ctor public SpacerKt();
     method public static void FixedSpacer(androidx.ui.core.Dp width, androidx.ui.core.Dp height);
@@ -202,6 +169,15 @@
     method public static void WidthSpacer(androidx.ui.core.Dp width);
   }
 
+  public final class SpacingKt {
+    ctor public SpacingKt();
+    method public static void Padding(androidx.ui.layout.EdgeInsets padding, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Padding(androidx.ui.core.Dp left = 0.dp, androidx.ui.core.Dp top = 0.dp, androidx.ui.core.Dp right = 0.dp, androidx.ui.core.Dp bottom = 0.dp, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Padding(androidx.ui.core.Dp padding, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static androidx.ui.core.LayoutModifier Spacing(androidx.ui.core.Dp left = 0.dp, androidx.ui.core.Dp top = 0.dp, androidx.ui.core.Dp right = 0.dp, androidx.ui.core.Dp bottom = 0.dp);
+    method public static androidx.ui.core.LayoutModifier Spacing(androidx.ui.core.Dp all = 0.dp);
+  }
+
   public final class StackChildren {
     ctor public StackChildren();
     method public void aligned(androidx.ui.core.Alignment alignment, boolean loose = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
diff --git a/ui/ui-layout/api/public_plus_experimental_current.txt b/ui/ui-layout/api/public_plus_experimental_current.txt
index ea2156c..d4a75d0 100644
--- a/ui/ui-layout/api/public_plus_experimental_current.txt
+++ b/ui/ui-layout/api/public_plus_experimental_current.txt
@@ -1,29 +1,6 @@
 // Signature format: 3.0
 package androidx.ui.layout {
 
-  public final class AbsolutePadding implements androidx.ui.core.LayoutModifier {
-    ctor public AbsolutePadding(androidx.ui.core.Dp left, androidx.ui.core.Dp top, androidx.ui.core.Dp right, androidx.ui.core.Dp bottom);
-    ctor public AbsolutePadding();
-    method public androidx.ui.core.Dp component1();
-    method public androidx.ui.core.Dp component2();
-    method public androidx.ui.core.Dp component3();
-    method public androidx.ui.core.Dp component4();
-    method public androidx.ui.layout.AbsolutePadding copy(androidx.ui.core.Dp left, androidx.ui.core.Dp top, androidx.ui.core.Dp right, androidx.ui.core.Dp bottom);
-    method public androidx.ui.core.Dp getBottom();
-    method public androidx.ui.core.Dp getLeft();
-    method public androidx.ui.core.Dp getRight();
-    method public androidx.ui.core.Dp getTop();
-    method public androidx.ui.core.IntPx maxIntrinsicHeightOf(androidx.ui.core.DensityScope, androidx.ui.core.Measurable measurable, androidx.ui.core.IntPx width);
-    method public androidx.ui.core.IntPx maxIntrinsicWidthOf(androidx.ui.core.DensityScope, androidx.ui.core.Measurable measurable, androidx.ui.core.IntPx height);
-    method public androidx.ui.core.IntPx minIntrinsicHeightOf(androidx.ui.core.DensityScope, androidx.ui.core.Measurable measurable, androidx.ui.core.IntPx width);
-    method public androidx.ui.core.IntPx minIntrinsicWidthOf(androidx.ui.core.DensityScope, androidx.ui.core.Measurable measurable, androidx.ui.core.IntPx height);
-    method public androidx.ui.core.IntPx? modifyAlignmentLine(androidx.ui.core.DensityScope, androidx.ui.core.AlignmentLine line, androidx.ui.core.IntPx? value);
-    method public androidx.ui.core.Constraints modifyConstraints(androidx.ui.core.DensityScope, androidx.ui.core.Constraints constraints);
-    method public Object? modifyParentData(androidx.ui.core.DensityScope, Object? parentData);
-    method public androidx.ui.core.IntPxPosition modifyPosition(androidx.ui.core.DensityScope, androidx.ui.core.IntPxPosition childPosition, androidx.ui.core.IntPxSize childSize, androidx.ui.core.IntPxSize containerSize);
-    method public androidx.ui.core.IntPxSize modifySize(androidx.ui.core.DensityScope, androidx.ui.core.Constraints constraints, androidx.ui.core.IntPxSize childSize);
-  }
-
   public final class AlignKt {
     ctor public AlignKt();
     method public static void Align(androidx.ui.core.Alignment alignment, kotlin.jvm.functions.Function0<kotlin.Unit> children);
@@ -185,16 +162,6 @@
     enum_constant public static final androidx.ui.layout.MainAxisAlignment Start;
   }
 
-  public final class PaddingKt {
-    ctor public PaddingKt();
-    method public static void Padding(androidx.ui.layout.EdgeInsets padding, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Padding(androidx.ui.core.Dp left = 0.dp, androidx.ui.core.Dp top = 0.dp, androidx.ui.core.Dp right = 0.dp, androidx.ui.core.Dp bottom = 0.dp, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Padding(androidx.ui.core.Dp padding, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static androidx.ui.layout.AbsolutePadding absolutePadding(androidx.ui.core.Dp left = 0.dp, androidx.ui.core.Dp top = 0.dp, androidx.ui.core.Dp right = 0.dp, androidx.ui.core.Dp bottom = 0.dp);
-    method public static androidx.ui.layout.AbsolutePadding padding(androidx.ui.core.Dp all = 0.dp);
-    method public static androidx.ui.layout.AbsolutePadding padding(androidx.ui.core.Dp horizontal = 0.dp, androidx.ui.core.Dp vertical = 0.dp);
-  }
-
   public final class SpacerKt {
     ctor public SpacerKt();
     method public static void FixedSpacer(androidx.ui.core.Dp width, androidx.ui.core.Dp height);
@@ -202,6 +169,15 @@
     method public static void WidthSpacer(androidx.ui.core.Dp width);
   }
 
+  public final class SpacingKt {
+    ctor public SpacingKt();
+    method public static void Padding(androidx.ui.layout.EdgeInsets padding, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Padding(androidx.ui.core.Dp left = 0.dp, androidx.ui.core.Dp top = 0.dp, androidx.ui.core.Dp right = 0.dp, androidx.ui.core.Dp bottom = 0.dp, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Padding(androidx.ui.core.Dp padding, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static androidx.ui.core.LayoutModifier Spacing(androidx.ui.core.Dp left = 0.dp, androidx.ui.core.Dp top = 0.dp, androidx.ui.core.Dp right = 0.dp, androidx.ui.core.Dp bottom = 0.dp);
+    method public static androidx.ui.core.LayoutModifier Spacing(androidx.ui.core.Dp all = 0.dp);
+  }
+
   public final class StackChildren {
     ctor public StackChildren();
     method public void aligned(androidx.ui.core.Alignment alignment, boolean loose = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
diff --git a/ui/ui-layout/api/restricted_0.1.0-dev02.txt b/ui/ui-layout/api/restricted_0.1.0-dev02.txt
index ea2156c..d4a75d0 100644
--- a/ui/ui-layout/api/restricted_0.1.0-dev02.txt
+++ b/ui/ui-layout/api/restricted_0.1.0-dev02.txt
@@ -1,29 +1,6 @@
 // Signature format: 3.0
 package androidx.ui.layout {
 
-  public final class AbsolutePadding implements androidx.ui.core.LayoutModifier {
-    ctor public AbsolutePadding(androidx.ui.core.Dp left, androidx.ui.core.Dp top, androidx.ui.core.Dp right, androidx.ui.core.Dp bottom);
-    ctor public AbsolutePadding();
-    method public androidx.ui.core.Dp component1();
-    method public androidx.ui.core.Dp component2();
-    method public androidx.ui.core.Dp component3();
-    method public androidx.ui.core.Dp component4();
-    method public androidx.ui.layout.AbsolutePadding copy(androidx.ui.core.Dp left, androidx.ui.core.Dp top, androidx.ui.core.Dp right, androidx.ui.core.Dp bottom);
-    method public androidx.ui.core.Dp getBottom();
-    method public androidx.ui.core.Dp getLeft();
-    method public androidx.ui.core.Dp getRight();
-    method public androidx.ui.core.Dp getTop();
-    method public androidx.ui.core.IntPx maxIntrinsicHeightOf(androidx.ui.core.DensityScope, androidx.ui.core.Measurable measurable, androidx.ui.core.IntPx width);
-    method public androidx.ui.core.IntPx maxIntrinsicWidthOf(androidx.ui.core.DensityScope, androidx.ui.core.Measurable measurable, androidx.ui.core.IntPx height);
-    method public androidx.ui.core.IntPx minIntrinsicHeightOf(androidx.ui.core.DensityScope, androidx.ui.core.Measurable measurable, androidx.ui.core.IntPx width);
-    method public androidx.ui.core.IntPx minIntrinsicWidthOf(androidx.ui.core.DensityScope, androidx.ui.core.Measurable measurable, androidx.ui.core.IntPx height);
-    method public androidx.ui.core.IntPx? modifyAlignmentLine(androidx.ui.core.DensityScope, androidx.ui.core.AlignmentLine line, androidx.ui.core.IntPx? value);
-    method public androidx.ui.core.Constraints modifyConstraints(androidx.ui.core.DensityScope, androidx.ui.core.Constraints constraints);
-    method public Object? modifyParentData(androidx.ui.core.DensityScope, Object? parentData);
-    method public androidx.ui.core.IntPxPosition modifyPosition(androidx.ui.core.DensityScope, androidx.ui.core.IntPxPosition childPosition, androidx.ui.core.IntPxSize childSize, androidx.ui.core.IntPxSize containerSize);
-    method public androidx.ui.core.IntPxSize modifySize(androidx.ui.core.DensityScope, androidx.ui.core.Constraints constraints, androidx.ui.core.IntPxSize childSize);
-  }
-
   public final class AlignKt {
     ctor public AlignKt();
     method public static void Align(androidx.ui.core.Alignment alignment, kotlin.jvm.functions.Function0<kotlin.Unit> children);
@@ -185,16 +162,6 @@
     enum_constant public static final androidx.ui.layout.MainAxisAlignment Start;
   }
 
-  public final class PaddingKt {
-    ctor public PaddingKt();
-    method public static void Padding(androidx.ui.layout.EdgeInsets padding, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Padding(androidx.ui.core.Dp left = 0.dp, androidx.ui.core.Dp top = 0.dp, androidx.ui.core.Dp right = 0.dp, androidx.ui.core.Dp bottom = 0.dp, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Padding(androidx.ui.core.Dp padding, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static androidx.ui.layout.AbsolutePadding absolutePadding(androidx.ui.core.Dp left = 0.dp, androidx.ui.core.Dp top = 0.dp, androidx.ui.core.Dp right = 0.dp, androidx.ui.core.Dp bottom = 0.dp);
-    method public static androidx.ui.layout.AbsolutePadding padding(androidx.ui.core.Dp all = 0.dp);
-    method public static androidx.ui.layout.AbsolutePadding padding(androidx.ui.core.Dp horizontal = 0.dp, androidx.ui.core.Dp vertical = 0.dp);
-  }
-
   public final class SpacerKt {
     ctor public SpacerKt();
     method public static void FixedSpacer(androidx.ui.core.Dp width, androidx.ui.core.Dp height);
@@ -202,6 +169,15 @@
     method public static void WidthSpacer(androidx.ui.core.Dp width);
   }
 
+  public final class SpacingKt {
+    ctor public SpacingKt();
+    method public static void Padding(androidx.ui.layout.EdgeInsets padding, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Padding(androidx.ui.core.Dp left = 0.dp, androidx.ui.core.Dp top = 0.dp, androidx.ui.core.Dp right = 0.dp, androidx.ui.core.Dp bottom = 0.dp, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Padding(androidx.ui.core.Dp padding, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static androidx.ui.core.LayoutModifier Spacing(androidx.ui.core.Dp left = 0.dp, androidx.ui.core.Dp top = 0.dp, androidx.ui.core.Dp right = 0.dp, androidx.ui.core.Dp bottom = 0.dp);
+    method public static androidx.ui.core.LayoutModifier Spacing(androidx.ui.core.Dp all = 0.dp);
+  }
+
   public final class StackChildren {
     ctor public StackChildren();
     method public void aligned(androidx.ui.core.Alignment alignment, boolean loose = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
diff --git a/ui/ui-layout/api/restricted_current.txt b/ui/ui-layout/api/restricted_current.txt
index ea2156c..d4a75d0 100644
--- a/ui/ui-layout/api/restricted_current.txt
+++ b/ui/ui-layout/api/restricted_current.txt
@@ -1,29 +1,6 @@
 // Signature format: 3.0
 package androidx.ui.layout {
 
-  public final class AbsolutePadding implements androidx.ui.core.LayoutModifier {
-    ctor public AbsolutePadding(androidx.ui.core.Dp left, androidx.ui.core.Dp top, androidx.ui.core.Dp right, androidx.ui.core.Dp bottom);
-    ctor public AbsolutePadding();
-    method public androidx.ui.core.Dp component1();
-    method public androidx.ui.core.Dp component2();
-    method public androidx.ui.core.Dp component3();
-    method public androidx.ui.core.Dp component4();
-    method public androidx.ui.layout.AbsolutePadding copy(androidx.ui.core.Dp left, androidx.ui.core.Dp top, androidx.ui.core.Dp right, androidx.ui.core.Dp bottom);
-    method public androidx.ui.core.Dp getBottom();
-    method public androidx.ui.core.Dp getLeft();
-    method public androidx.ui.core.Dp getRight();
-    method public androidx.ui.core.Dp getTop();
-    method public androidx.ui.core.IntPx maxIntrinsicHeightOf(androidx.ui.core.DensityScope, androidx.ui.core.Measurable measurable, androidx.ui.core.IntPx width);
-    method public androidx.ui.core.IntPx maxIntrinsicWidthOf(androidx.ui.core.DensityScope, androidx.ui.core.Measurable measurable, androidx.ui.core.IntPx height);
-    method public androidx.ui.core.IntPx minIntrinsicHeightOf(androidx.ui.core.DensityScope, androidx.ui.core.Measurable measurable, androidx.ui.core.IntPx width);
-    method public androidx.ui.core.IntPx minIntrinsicWidthOf(androidx.ui.core.DensityScope, androidx.ui.core.Measurable measurable, androidx.ui.core.IntPx height);
-    method public androidx.ui.core.IntPx? modifyAlignmentLine(androidx.ui.core.DensityScope, androidx.ui.core.AlignmentLine line, androidx.ui.core.IntPx? value);
-    method public androidx.ui.core.Constraints modifyConstraints(androidx.ui.core.DensityScope, androidx.ui.core.Constraints constraints);
-    method public Object? modifyParentData(androidx.ui.core.DensityScope, Object? parentData);
-    method public androidx.ui.core.IntPxPosition modifyPosition(androidx.ui.core.DensityScope, androidx.ui.core.IntPxPosition childPosition, androidx.ui.core.IntPxSize childSize, androidx.ui.core.IntPxSize containerSize);
-    method public androidx.ui.core.IntPxSize modifySize(androidx.ui.core.DensityScope, androidx.ui.core.Constraints constraints, androidx.ui.core.IntPxSize childSize);
-  }
-
   public final class AlignKt {
     ctor public AlignKt();
     method public static void Align(androidx.ui.core.Alignment alignment, kotlin.jvm.functions.Function0<kotlin.Unit> children);
@@ -185,16 +162,6 @@
     enum_constant public static final androidx.ui.layout.MainAxisAlignment Start;
   }
 
-  public final class PaddingKt {
-    ctor public PaddingKt();
-    method public static void Padding(androidx.ui.layout.EdgeInsets padding, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Padding(androidx.ui.core.Dp left = 0.dp, androidx.ui.core.Dp top = 0.dp, androidx.ui.core.Dp right = 0.dp, androidx.ui.core.Dp bottom = 0.dp, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Padding(androidx.ui.core.Dp padding, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static androidx.ui.layout.AbsolutePadding absolutePadding(androidx.ui.core.Dp left = 0.dp, androidx.ui.core.Dp top = 0.dp, androidx.ui.core.Dp right = 0.dp, androidx.ui.core.Dp bottom = 0.dp);
-    method public static androidx.ui.layout.AbsolutePadding padding(androidx.ui.core.Dp all = 0.dp);
-    method public static androidx.ui.layout.AbsolutePadding padding(androidx.ui.core.Dp horizontal = 0.dp, androidx.ui.core.Dp vertical = 0.dp);
-  }
-
   public final class SpacerKt {
     ctor public SpacerKt();
     method public static void FixedSpacer(androidx.ui.core.Dp width, androidx.ui.core.Dp height);
@@ -202,6 +169,15 @@
     method public static void WidthSpacer(androidx.ui.core.Dp width);
   }
 
+  public final class SpacingKt {
+    ctor public SpacingKt();
+    method public static void Padding(androidx.ui.layout.EdgeInsets padding, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Padding(androidx.ui.core.Dp left = 0.dp, androidx.ui.core.Dp top = 0.dp, androidx.ui.core.Dp right = 0.dp, androidx.ui.core.Dp bottom = 0.dp, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Padding(androidx.ui.core.Dp padding, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static androidx.ui.core.LayoutModifier Spacing(androidx.ui.core.Dp left = 0.dp, androidx.ui.core.Dp top = 0.dp, androidx.ui.core.Dp right = 0.dp, androidx.ui.core.Dp bottom = 0.dp);
+    method public static androidx.ui.core.LayoutModifier Spacing(androidx.ui.core.Dp all = 0.dp);
+  }
+
   public final class StackChildren {
     ctor public StackChildren();
     method public void aligned(androidx.ui.core.Alignment alignment, boolean loose = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
diff --git a/ui/ui-layout/integration-tests/samples/src/main/java/androidx/ui/layout/samples/PaddingSample.kt b/ui/ui-layout/integration-tests/samples/src/main/java/androidx/ui/layout/samples/SpacingSample.kt
similarity index 81%
rename from ui/ui-layout/integration-tests/samples/src/main/java/androidx/ui/layout/samples/PaddingSample.kt
rename to ui/ui-layout/integration-tests/samples/src/main/java/androidx/ui/layout/samples/SpacingSample.kt
index 9b6928b..4dc05d3 100644
--- a/ui/ui-layout/integration-tests/samples/src/main/java/androidx/ui/layout/samples/PaddingSample.kt
+++ b/ui/ui-layout/integration-tests/samples/src/main/java/androidx/ui/layout/samples/SpacingSample.kt
@@ -25,17 +25,16 @@
 import androidx.ui.layout.Container
 import androidx.ui.layout.EdgeInsets
 import androidx.ui.layout.Padding
-import androidx.ui.layout.absolutePadding
-import androidx.ui.layout.padding
+import androidx.ui.layout.Spacing
 
 @Sampled
 @Composable
-fun AbsolutePaddingModifier() {
+fun SpacingModifier() {
     Align(Alignment.TopLeft) {
         Container {
             DrawRectangle(Color.Gray)
             SizedRectangle(
-                modifier = absolutePadding(
+                modifier = Spacing(
                     left = 20.dp, top = 30.dp, right = 20.dp, bottom = 30.dp
                 ),
                 color = Color.Blue,
@@ -48,28 +47,12 @@
 
 @Sampled
 @Composable
-fun PaddingModifier() {
+fun SpacingAllModifier() {
     Align(Alignment.TopLeft) {
         Container {
             DrawRectangle(Color.Gray)
             SizedRectangle(
-                modifier = padding(all = 20.dp),
-                color = Color.Blue,
-                width = 50.dp,
-                height = 50.dp
-            )
-        }
-    }
-}
-
-@Sampled
-@Composable
-fun SymmetricalPaddingModifier() {
-    Align(Alignment.TopLeft) {
-        Container {
-            DrawRectangle(Color.Gray)
-            SizedRectangle(
-                modifier = padding(horizontal = 20.dp, vertical = 30.dp),
+                modifier = Spacing(all = 20.dp),
                 color = Color.Blue,
                 width = 50.dp,
                 height = 50.dp
diff --git a/ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/AbsolutePaddingModifierTest.kt b/ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/SpacingModifierTest.kt
similarity index 62%
rename from ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/AbsolutePaddingModifierTest.kt
rename to ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/SpacingModifierTest.kt
index 5b3559d..f7c0df1 100644
--- a/ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/AbsolutePaddingModifierTest.kt
+++ b/ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/SpacingModifierTest.kt
@@ -36,8 +36,7 @@
 import androidx.ui.core.Modifier
 import androidx.ui.core.min
 import androidx.ui.layout.AspectRatio
-import androidx.ui.layout.absolutePadding
-import androidx.ui.layout.padding
+import androidx.ui.layout.Spacing
 import org.junit.Assert
 import org.junit.Test
 import org.junit.runner.RunWith
@@ -45,87 +44,71 @@
 import java.util.concurrent.CountDownLatch
 import java.util.concurrent.TimeUnit
 
-/**
- * A trivial layout that applies a [Modifier] and measures/lays out a single child
- * with the same constraints it received.
- */
-@Composable
-private fun TestBox(modifier: Modifier = Modifier.None, body: @Composable() () -> Unit) {
-    Layout(children = body, modifier = modifier) { measurables, constraints ->
-        require(measurables.size == 1) {
-            "TestBox received ${measurables.size} children; must have exactly 1"
-        }
-        val placeable = measurables.first().measure(constraints)
-        layout(
-            min(placeable.width, constraints.maxWidth),
-            min(placeable.height, constraints.maxHeight)
-        ) {
-            placeable.place(IntPx.Zero, IntPx.Zero)
-        }
-    }
-}
-
 @SmallTest
 @RunWith(JUnit4::class)
-class AbsolutePaddingModifierTest : LayoutTest() {
+class SpacingModifierTest : LayoutTest() {
 
     /**
-     * Tests that the [absolutePadding] and [padding] factories return equivalent modifiers.
+     * Tests that the [Spacing]-all and [Spacing] factories return equivalent modifiers.
      */
     @Test
     fun allEqualToAbsoluteWithExplicitSides() {
         Assert.assertEquals(
-            absolutePadding(10.dp, 10.dp, 10.dp, 10.dp),
-            padding(10.dp)
+            Spacing(10.dp, 10.dp, 10.dp, 10.dp),
+            Spacing(10.dp)
         )
     }
 
     /**
-     * Tests the top-level [padding] modifier factory with a single "all sides" argument,
-     * checking that a uniform padding of all sides is applied to a child when plenty of space is
-     * available for both content and padding.
+     * Tests the top-level [Spacing] modifier factory with a single "all sides" argument,
+     * checking that a uniform spacing of all sides is applied to a child when plenty of space is
+     * available for both content and spacing.
      */
     @Test
-    fun paddingAllAppliedToChild() = withDensity(density) {
-        val padding = 10.dp
-        testPaddingIsAppliedImplementation(padding) { child: @Composable() () -> Unit ->
-            TestBox(modifier = padding(padding)) {
+    fun spacingAllAppliedToChild() = withDensity(density) {
+        val spacing = 10.dp
+        testSpacingIsAppliedImplementation(spacing) { child: @Composable() () -> Unit ->
+            TestBox(modifier = Spacing(spacing)) {
                 child()
             }
         }
     }
 
     /**
-     * Tests the top-level [absolutePadding] modifier factory with different values for left, top,
-     * right and bottom paddings, checking that this padding is applied as expected when plenty of
-     * space is available for both the content and padding.
+     * Tests the top-level [Spacing] modifier factory with different values for left, top,
+     * right and bottom spacings, checking that this spacing is applied as expected when plenty of
+     * space is available for both the content and spacing.
      */
     @Test
-    fun absolutePaddingAppliedToChild() {
-        val padding = absolutePadding(10.dp, 15.dp, 20.dp, 30.dp)
-        testPaddingWithDifferentInsetsImplementation(
-            padding.left,
-            padding.top,
-            padding.right,
-            padding.bottom
+    fun absoluteSpacingAppliedToChild() {
+        val spacingLeft = 10.dp
+        val spacingTop = 15.dp
+        val spacingRight = 20.dp
+        val spacingBottom = 30.dp
+        val spacing = Spacing(spacingLeft, spacingTop, spacingRight, spacingBottom)
+        testSpacingWithDifferentInsetsImplementation(
+            spacingLeft,
+            spacingTop,
+            spacingRight,
+            spacingBottom
         ) { child: @Composable() () -> Unit ->
-            TestBox(modifier = padding) {
+            TestBox(modifier = spacing) {
                 child()
             }
         }
     }
 
     /**
-     * Tests the result of the [padding] modifier factory when not enough space is available to
-     * accommodate both the padding and the content. In this case, the padding should still be
-     * applied, modifying the final position of the content by its left and top paddings even if it
+     * Tests the result of the [Spacing] modifier factory when not enough space is available to
+     * accommodate both the spacing and the content. In this case, the spacing should still be
+     * applied, modifying the final position of the content by its left and top spacings even if it
      * would result in constraints that the child content is unable or unwilling to satisfy.
      */
     @Test
     fun insufficientSpaceAvailable() = withDensity(density) {
-        val padding = 30.dp
-        testPaddingWithInsufficientSpaceImplementation(padding) { child: @Composable() () -> Unit ->
-            TestBox(modifier = padding(padding)) {
+        val spacing = 30.dp
+        testSpacingWithInsufficientSpaceImplementation(spacing) { child: @Composable() () -> Unit ->
+            TestBox(modifier = Spacing(spacing)) {
                 child()
             }
         }
@@ -133,50 +116,50 @@
 
     @Test
     fun intrinsicMeasurements() = withDensity(density) {
-        val padding = 100.ipx.toDp()
+        val spacing = 100.ipx.toDp()
 
         val latch = CountDownLatch(1)
         var error: Throwable? = null
         testIntrinsics(@Composable {
-            TestBox(modifier = padding(padding)) {
+            TestBox(modifier = Spacing(spacing)) {
                 Container(AspectRatio(2f)) { }
             }
         }) { minIntrinsicWidth, minIntrinsicHeight, maxIntrinsicWidth, maxIntrinsicHeight ->
-            // Padding is applied on both sides of an axis
-            val totalAxisPadding = (padding * 2).toIntPx()
+            // Spacing is applied on both sides of an axis
+            val totalAxisSpacing = (spacing * 2).toIntPx()
 
-            // When the width/height is measured as 3 x the padding
-            val testDimension = (padding * 3).toIntPx()
-            // The actual dimension for the AspectRatio will be: test dimension - total padding
-            val actualAspectRatioDimension = testDimension - totalAxisPadding
+            // When the width/height is measured as 3 x the spacing
+            val testDimension = (spacing * 3).toIntPx()
+            // The actual dimension for the AspectRatio will be: test dimension - total spacing
+            val actualAspectRatioDimension = testDimension - totalAxisSpacing
 
             // When we measure the width first, the height will be half
             val expectedAspectRatioHeight = actualAspectRatioDimension / 2f
             // When we measure the height first, the width will be double
             val expectedAspectRatioWidth = actualAspectRatioDimension * 2
 
-            // Add back the padding on both sides to get the total expected height
-            val expectedTotalHeight = expectedAspectRatioHeight + totalAxisPadding
-            // Add back the padding on both sides to get the total expected height
-            val expectedTotalWidth = expectedAspectRatioWidth + totalAxisPadding
+            // Add back the spacing on both sides to get the total expected height
+            val expectedTotalHeight = expectedAspectRatioHeight + totalAxisSpacing
+            // Add back the spacing on both sides to get the total expected height
+            val expectedTotalWidth = expectedAspectRatioWidth + totalAxisSpacing
 
             try {
                 // Min width.
-                assertEquals(totalAxisPadding, minIntrinsicWidth(0.dp.toIntPx()))
+                assertEquals(totalAxisSpacing, minIntrinsicWidth(0.dp.toIntPx()))
                 assertEquals(expectedTotalWidth, minIntrinsicWidth(testDimension))
-                assertEquals(totalAxisPadding, minIntrinsicWidth(IntPx.Infinity))
+                assertEquals(totalAxisSpacing, minIntrinsicWidth(IntPx.Infinity))
                 // Min height.
-                assertEquals(totalAxisPadding, minIntrinsicHeight(0.dp.toIntPx()))
+                assertEquals(totalAxisSpacing, minIntrinsicHeight(0.dp.toIntPx()))
                 assertEquals(expectedTotalHeight, minIntrinsicHeight(testDimension))
-                assertEquals(totalAxisPadding, minIntrinsicHeight(IntPx.Infinity))
+                assertEquals(totalAxisSpacing, minIntrinsicHeight(IntPx.Infinity))
                 // Max width.
-                assertEquals(totalAxisPadding, maxIntrinsicWidth(0.dp.toIntPx()))
+                assertEquals(totalAxisSpacing, maxIntrinsicWidth(0.dp.toIntPx()))
                 assertEquals(expectedTotalWidth, maxIntrinsicWidth(testDimension))
-                assertEquals(totalAxisPadding, maxIntrinsicWidth(IntPx.Infinity))
+                assertEquals(totalAxisSpacing, maxIntrinsicWidth(IntPx.Infinity))
                 // Max height.
-                assertEquals(totalAxisPadding, maxIntrinsicHeight(0.dp.toIntPx()))
+                assertEquals(totalAxisSpacing, maxIntrinsicHeight(0.dp.toIntPx()))
                 assertEquals(expectedTotalHeight, maxIntrinsicHeight(testDimension))
-                assertEquals(totalAxisPadding, maxIntrinsicHeight(IntPx.Infinity))
+                assertEquals(totalAxisSpacing, maxIntrinsicHeight(IntPx.Infinity))
             } catch (t: Throwable) {
                 error = t
             } finally {
@@ -190,13 +173,13 @@
         Unit
     }
 
-    private fun testPaddingIsAppliedImplementation(
-        padding: Dp,
-        paddingContainer: @Composable() (@Composable() () -> Unit) -> Unit
+    private fun testSpacingIsAppliedImplementation(
+        spacing: Dp,
+        spacingContainer: @Composable() (@Composable() () -> Unit) -> Unit
     ) = withDensity(density) {
         val sizeDp = 50.dp
         val size = sizeDp.toIntPx()
-        val paddingPx = padding.toIntPx()
+        val spacingPx = spacing.toIntPx()
 
         val drawLatch = CountDownLatch(1)
         var childSize = PxSize(-1.px, -1.px)
@@ -214,7 +197,7 @@
                             })
                         }
                     }
-                    paddingContainer(children)
+                    spacingContainer(children)
                 }
             }
         }
@@ -223,22 +206,22 @@
         val root = findAndroidComposeView()
         waitForDraw(root)
 
-        val innerSize = (size - paddingPx * 2)
+        val innerSize = (size - spacingPx * 2)
         assertEquals(PxSize(innerSize, innerSize), childSize)
-        val left = ((root.width.ipx - size) / 2) + paddingPx
-        val top = ((root.height.ipx - size) / 2) + paddingPx
+        val left = ((root.width.ipx - size) / 2) + spacingPx
+        val top = ((root.height.ipx - size) / 2) + spacingPx
         assertEquals(
             PxPosition(left.toPx(), top.toPx()),
             childPosition
         )
     }
 
-    private fun testPaddingWithDifferentInsetsImplementation(
+    private fun testSpacingWithDifferentInsetsImplementation(
         left: Dp,
         top: Dp,
         right: Dp,
         bottom: Dp,
-        paddingContainer: @Composable() ((@Composable() () -> Unit) -> Unit)
+        spacingContainer: @Composable() ((@Composable() () -> Unit) -> Unit)
     ) = withDensity(density) {
         val sizeDp = 50.dp
         val size = sizeDp.toIntPx()
@@ -259,7 +242,7 @@
                             })
                         }
                     }
-                    paddingContainer(children)
+                    spacingContainer(children)
                 }
             }
         }
@@ -268,32 +251,32 @@
         val root = findAndroidComposeView()
         waitForDraw(root)
 
-        val paddingLeft = left.toIntPx()
-        val paddingRight = right.toIntPx()
-        val paddingTop = top.toIntPx()
-        val paddingBottom = bottom.toIntPx()
+        val spacingLeft = left.toIntPx()
+        val spacingRight = right.toIntPx()
+        val spacingTop = top.toIntPx()
+        val spacingBottom = bottom.toIntPx()
         assertEquals(
             PxSize(
-                size - paddingLeft - paddingRight,
-                size - paddingTop - paddingBottom
+                size - spacingLeft - spacingRight,
+                size - spacingTop - spacingBottom
             ),
             childSize
         )
-        val viewLeft = ((root.width.ipx - size) / 2) + paddingLeft
-        val viewTop = ((root.height.ipx - size) / 2) + paddingTop
+        val viewLeft = ((root.width.ipx - size) / 2) + spacingLeft
+        val viewTop = ((root.height.ipx - size) / 2) + spacingTop
         assertEquals(
             PxPosition(viewLeft.toPx(), viewTop.toPx()),
             childPosition
         )
     }
 
-    private fun testPaddingWithInsufficientSpaceImplementation(
-        padding: Dp,
-        paddingContainer: @Composable() (@Composable() () -> Unit) -> Unit
+    private fun testSpacingWithInsufficientSpaceImplementation(
+        spacing: Dp,
+        spacingContainer: @Composable() (@Composable() () -> Unit) -> Unit
     ) = withDensity(density) {
         val sizeDp = 50.dp
         val size = sizeDp.toIntPx()
-        val paddingPx = padding.toIntPx()
+        val spacingPx = spacing.toIntPx()
 
         val drawLatch = CountDownLatch(1)
         var childSize = PxSize(-1.px, -1.px)
@@ -301,7 +284,7 @@
         show {
             Center {
                 ConstrainedBox(constraints = DpConstraints.tightConstraints(sizeDp, sizeDp)) {
-                    paddingContainer {
+                    spacingContainer {
                         Container {
                             OnPositioned( coordinates ->
                                 childSize = coordinates.size
@@ -319,8 +302,28 @@
         waitForDraw(root)
 
         assertEquals(PxSize(0.px, 0.px), childSize)
-        val left = ((root.width.ipx - size) / 2) + paddingPx
-        val top = ((root.height.ipx - size) / 2) + paddingPx
+        val left = ((root.width.ipx - size) / 2) + spacingPx
+        val top = ((root.height.ipx - size) / 2) + spacingPx
         assertEquals(PxPosition(left.toPx(), top.toPx()), childPosition)
     }
+
+    /**
+     * A trivial layout that applies a [Modifier] and measures/lays out a single child
+     * with the same constraints it received.
+     */
+    @Composable
+    private fun TestBox(modifier: Modifier = Modifier.None, body: @Composable() () -> Unit) {
+        Layout(children = body, modifier = modifier) { measurables, constraints ->
+            require(measurables.size == 1) {
+                "TestBox received ${measurables.size} children; must have exactly 1"
+            }
+            val placeable = measurables.first().measure(constraints)
+            layout(
+                min(placeable.width, constraints.maxWidth),
+                min(placeable.height, constraints.maxHeight)
+            ) {
+                placeable.place(IntPx.Zero, IntPx.Zero)
+            }
+        }
+    }
 }
diff --git a/ui/ui-layout/src/main/java/androidx/ui/layout/Padding.kt b/ui/ui-layout/src/main/java/androidx/ui/layout/Spacing.kt
similarity index 89%
rename from ui/ui-layout/src/main/java/androidx/ui/layout/Padding.kt
rename to ui/ui-layout/src/main/java/androidx/ui/layout/Spacing.kt
index 697db36..aa8441a 100644
--- a/ui/ui-layout/src/main/java/androidx/ui/layout/Padding.kt
+++ b/ui/ui-layout/src/main/java/androidx/ui/layout/Spacing.kt
@@ -35,43 +35,34 @@
 import androidx.ui.core.ipx
 
 /**
- * Padding on all sides.
+ * Layout modifier that applies whitespace spacing on specified sides of the target layout.
  *
  * Example usage:
- * @sample androidx.ui.layout.samples.AbsolutePaddingModifier
+ * @sample androidx.ui.layout.samples.SpacingModifier
  */
-fun absolutePadding(
+fun Spacing(
     left: Dp = 0.dp,
     top: Dp = 0.dp,
     right: Dp = 0.dp,
     bottom: Dp = 0.dp
-) = AbsolutePadding(left = left, top = top, right = right, bottom = bottom)
+): LayoutModifier = SpacingModifier(left = left, top = top, right = right, bottom = bottom)
 
 /**
- * Padding with [all] dp on each side.
+ * Layout modifier that applies the same whitespace spacing of [all] dp on each side
+ * of the target layout.
  *
  * Example usage:
- * @sample androidx.ui.layout.samples.PaddingModifier
+ * @sample androidx.ui.layout.samples.SpacingAllModifier
  */
-fun padding(all: Dp = 0.dp) = AbsolutePadding(left = all, top = all, right = all, bottom = all)
-
-/**
- * Padding with [horizontal] dp of padding on the left and right and [vertical] dp of padding
- * on the top and bottom.
- *
- * Example usage:
- * @sample androidx.ui.layout.samples.SymmetricalPaddingModifier
- */
-fun padding(
-    horizontal: Dp = 0.dp,
-    vertical: Dp = 0.dp
-) = AbsolutePadding(left = horizontal, top = vertical, right = horizontal, bottom = vertical)
+fun Spacing(all: Dp = 0.dp): LayoutModifier =
+    SpacingModifier(left = all, top = all, right = all, bottom = all)
 
 /**
  * A [LayoutModifier] that adds [left], [top], [right] and [bottom] padding
- * to the wrapped UI element.
+ * to the wrapped layout.
+ * Used as shared implementation for the [Spacing] overloads.
  */
-data class AbsolutePadding(
+private data class SpacingModifier(
     val left: Dp = 0.dp,
     val top: Dp = 0.dp,
     val right: Dp = 0.dp,
diff --git a/ui/ui-material/integration-tests/material-studies/src/main/java/androidx/ui/material/studies/rally/RallyActivity.kt b/ui/ui-material/integration-tests/material-studies/src/main/java/androidx/ui/material/studies/rally/RallyActivity.kt
index bb42f13..77f1d31 100644
--- a/ui/ui-material/integration-tests/material-studies/src/main/java/androidx/ui/material/studies/rally/RallyActivity.kt
+++ b/ui/ui-material/integration-tests/material-studies/src/main/java/androidx/ui/material/studies/rally/RallyActivity.kt
@@ -27,7 +27,7 @@
 import androidx.ui.layout.Column
 import androidx.ui.layout.HeightSpacer
 import androidx.ui.layout.LayoutSize
-import androidx.ui.layout.padding
+import androidx.ui.layout.Spacing
 import androidx.ui.material.Tab
 import androidx.ui.material.TabRow
 import androidx.ui.material.studies.Scaffold
@@ -65,7 +65,7 @@
 @Composable
 fun RallyBody() {
     VerticalScroller {
-        Column(modifier = padding(16.dp), mainAxisSize = LayoutSize.Expand) {
+        Column(modifier = Spacing(16.dp), mainAxisSize = LayoutSize.Expand) {
             RallyAlertCard()
             HeightSpacer(height = 10.dp)
             RallyAccountsOverviewCard()
diff --git a/ui/ui-material/integration-tests/material-studies/src/main/java/androidx/ui/material/studies/rally/RallyCards.kt b/ui/ui-material/integration-tests/material-studies/src/main/java/androidx/ui/material/studies/rally/RallyCards.kt
index a54e8eb..b81b909 100644
--- a/ui/ui-material/integration-tests/material-studies/src/main/java/androidx/ui/material/studies/rally/RallyCards.kt
+++ b/ui/ui-material/integration-tests/material-studies/src/main/java/androidx/ui/material/studies/rally/RallyCards.kt
@@ -33,9 +33,9 @@
 import androidx.ui.layout.LayoutSize
 import androidx.ui.layout.MainAxisAlignment
 import androidx.ui.layout.Row
+import androidx.ui.layout.Spacing
 import androidx.ui.layout.Stack
 import androidx.ui.layout.WidthSpacer
-import androidx.ui.layout.padding
 import androidx.ui.material.Button
 import androidx.ui.material.Divider
 import androidx.ui.material.TextButtonStyle
@@ -49,7 +49,7 @@
 @Composable
 fun RallyAlertCard() {
     Card {
-        Column(padding(12.dp)) {
+        Column(Spacing(12.dp)) {
             Row(
                 mainAxisSize = LayoutSize.Expand,
                 mainAxisAlignment = MainAxisAlignment.SpaceBetween
@@ -57,7 +57,11 @@
                 Text(text = "Alerts", style = +themeTextStyle { subtitle2 })
                 Button(text = "See All",  }, style = TextButtonStyle())
             }
-            Divider(padding(vertical = 12.dp), color = +themeColor { background }, height = 2.dp)
+            Divider(
+                Spacing(top = 12.dp, bottom = 12.dp),
+                color = +themeColor { background },
+                height = 2.dp
+            )
             FlexRow {
                 expanded(flex = 1.0f) {
                     val text = "Heads up, you've used up 90% of your " +
@@ -85,12 +89,12 @@
 fun RallyAccountsOverviewCard() {
     Card {
         Column(mainAxisSize = LayoutSize.Expand) {
-            Column(modifier = padding(12.dp)) {
+            Column(modifier = Spacing(12.dp)) {
                 Text(text = "Accounts", style = +themeTextStyle { body1 })
                 Text(text = "$12,132.49", style = +themeTextStyle { h3 })
             }
             Divider(color = rallyGreen, height = 1.dp)
-            Column(modifier = padding(12.dp), mainAxisSize = LayoutSize.Expand) {
+            Column(modifier = Spacing(12.dp), mainAxisSize = LayoutSize.Expand) {
                 RallyAccountRow(
                     name = "Checking",
                     number = "1234",
@@ -125,7 +129,7 @@
 fun RallyAccountsCard() {
     VerticalScroller {
         Column {
-                Stack(padding(16.dp)) {
+                Stack(Spacing(16.dp)) {
                         aligned(Alignment.Center) {
                             val accountsProportion = listOf(0.595f, 0.045f, 0.095f, 0.195f, 0.045f)
                             val colors = listOf(0xFF1EB980, 0xFF005D57, 0xFF04B97F, 0xFF37EFBA,
@@ -141,7 +145,7 @@
                     }
                 HeightSpacer(height = 10.dp)
                 Card {
-                    Column(modifier = padding(12.dp), mainAxisSize = LayoutSize.Expand) {
+                    Column(modifier = Spacing(12.dp), mainAxisSize = LayoutSize.Expand) {
                         RallyAccountRow(
                             name = "Checking",
                             number = "1234",
@@ -180,7 +184,7 @@
  */
 @Composable
 fun RallyAccountRow(name: String, number: String, amount: String, color: Color) {
-    FlexRow(padding(vertical = 12.dp)) {
+    FlexRow(Spacing(top = 12.dp, bottom = 12.dp)) {
         inflexible {
             AccountIndicator(color = color)
             WidthSpacer(width = 8.dp)
@@ -216,13 +220,13 @@
 fun RallyBillsOverviewCard() {
     Card {
         Column(mainAxisSize = LayoutSize.Expand) {
-            Column(modifier = padding(12.dp)) {
+            Column(modifier = Spacing(12.dp)) {
                 Text(text = "Bills", style = +themeTextStyle { subtitle2 })
                 Text(text = "$1,810.00", style = +themeTextStyle { h3 })
             }
             Divider(color = rallyGreen, height = 1.dp)
             // TODO: change to proper bill items
-            Column(modifier = padding(12.dp), mainAxisSize = LayoutSize.Expand) {
+            Column(modifier = Spacing(12.dp), mainAxisSize = LayoutSize.Expand) {
                 RallyAccountRow(
                     name = "RedPay Credit",
                     number = "Jan 29",
@@ -257,7 +261,7 @@
 fun RallyBillsCard() {
     VerticalScroller {
         Column {
-            Stack(padding(16.dp)) {
+            Stack(Spacing(16.dp)) {
                 aligned(alignment = Alignment.Center) {
                     val accountsProportion = listOf(0.65f, 0.25f, 0.03f, 0.05f)
                     val colors = listOf(0xFF1EB980, 0xFF005D57, 0xFF04B97F, 0xFF37EFBA).map {
@@ -274,7 +278,7 @@
             HeightSpacer(height = 10.dp)
             Card {
                 // TODO: change to proper bill items
-                Column(modifier = padding(12.dp), mainAxisSize = LayoutSize.Expand) {
+                Column(modifier = Spacing(12.dp), mainAxisSize = LayoutSize.Expand) {
                     RallyAccountRow(
                         name = "RedPay Credit",
                         number = "Jan 29",
@@ -309,4 +313,4 @@
 }
 
 @Composable
-fun RallyDivider() = Divider(color = +themeColor { background }, height = 2.dp)
\ No newline at end of file
+fun RallyDivider() = Divider(color = +themeColor { background }, height = 2.dp)
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/Divider.kt b/ui/ui-material/src/main/java/androidx/ui/material/Divider.kt
index 539632c..bf6662d 100644
--- a/ui/ui-material/src/main/java/androidx/ui/material/Divider.kt
+++ b/ui/ui-material/src/main/java/androidx/ui/material/Divider.kt
@@ -23,7 +23,7 @@
 import androidx.ui.core.dp
 import androidx.ui.foundation.ColoredRect
 import androidx.ui.graphics.Color
-import androidx.ui.layout.absolutePadding
+import androidx.ui.layout.Spacing
 
 /**
  * A divider is a thin line that groups content in lists and layouts
@@ -39,6 +39,6 @@
     height: Dp = 1.dp,
     indent: Dp = 0.dp
 ) {
-    val indentMod = if (indent.value != 0f) absolutePadding(left = indent) else Modifier.None
+    val indentMod = if (indent.value != 0f) Spacing(left = indent) else Modifier.None
     ColoredRect(color, modifier wraps indentMod, height = height)
 }
\ No newline at end of file