平常使用LinearLayout的时候,有时候会需要对每个item设置间距,但是每个item都加上margin的方法实在有些繁琐
因为之前是在写JavaFx程序,里面的Vbox或Hbox都会提供一个Space的参数,可以用来快速设置每个item之间的间距
而Android这边,是没看见对应的方法,于是搜索了一番,发现了可以通过divider分割线来一键设置item间距
实现步骤
1.创建divider对象
在drawble文件夹里面创建一个名为shape_option_item_pading.xml
对象,然后设置宽高大小,这里我是针对垂直排列的线性布局,让每个item间隔16dp,所以只设置了高度
xml代码如下所示:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<size
android:width="0dp"
android:height="16dp" />
</shape>
当然,这里你也可以加上背景色
2.LinearLayout使用
<androidx.appcompat.widget.LinearLayoutCompat
app:divider="@drawable/shape_option_item_pading"
app:showDividers="middle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
</androidx.appcompat.widget.LinearLayoutCompat>
-
divider
设置为创建好的shape_option_item_pading.xml
对象 -
showDividers
设置显示类型,有4种类型可选:beginning
end
middle
none
-
beginning
开头设置分割线 -
end
末尾设置分割线 -
middle
中间设置分割线 -
none
不设置分割线
也很好理解,我们需要中间每个item自动加上间距,所以上述代码就是选用了middle
评论区