> 原文地址: [Android LinearLayout快速設置每個item間隔](https://stars-one.site/2023/07/19/android-linearlayout-item-margin) 平常使用LinearLayout的時候,有時候會需要對每個item設置間距,但 ...
平常使用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
參考
提問之前,請先看提問須知 點擊右側圖標發起提問 或者加入QQ群一起學習 TornadoFx學習交流群:1071184701