参考文章
http://cyrilmottier.com/2014/11/17/grid-spacing-on-android/
在大多数情况下,我们都是使用Margin/Padding等属性来解决View间距的问题。
当UI是静态的时候这些工作都很简单,但它很难管理动态UI元素。
来看看下面这个布局,我为BUTTON1和BUTTON2增加了android:layout_marginRight属性
上面的布局看以来很不错,但是当我们隐藏掉BUTTON3时,布局就会变得像这样:
使用ListView、GridView等或许能解决类似的问题。但这些布局不允许你指定特定的元素间距
实际上,你可以为LinearLayout增加下面的属性来达到产生间距的目的
android:divider="@drawable"
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<size
android:width="@dimen/spacing_medium"
android:height="@dimen/spacing_medium" />
<solid android:color="@android:color/transparent" />
</shape>
android:showDividers = "middle|end|beginning|none"
middle 在每一项中间添加分割线
end 在整体的最后一项添加分割线
beginning 在整体的最上方添加分割线
none 无
注意:
如需兼容3.0以下版本,需要使用android.support.v7.widget.LinearLayoutCompat