Android LinearLayout快速設定每個item間隔

2023-07-19 12:00:59

原文地址: Android 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

參考