如果要适合于所有的Android版本,可以在多個LinearLayout放置用于顯示分隔線的View。例如,放一個ImageView元件,然後将其背景設為分隔線的顔色或圖像,分隔線View的定義代碼如下:
效果如下:
在Android3.0及以上版本,LinearLayout支援直接顯示分隔線。設定<LinearLayout>标簽的android:showDividers屬性可以再LinearLayout的相應位置顯示分隔線。如果有多個LinearLayout,顯示效果和在LinearLayout之間加分隔線是一樣的。
android:showDividers屬性可以設定如下4個值:
none:不顯示分隔線;
beginning:在LinearLayout的開始處顯示分隔線;
end:在Linearlayout的結尾處顯示分隔線;
middle:在LinearLayout中的每兩個元件間顯示分隔線:
除了需要設定android:showDividers屬性外,還要設定android:divider屬性,該屬性表示分隔線的圖像,需要一個Drawable ID
1、android:divider="@drawable/shape"
drawable可以是圖檔檔案,也可以是xml繪制的shape。
分割線如果是圖檔那就直接使用圖檔就行,如果要使用顔色就必須使用shape來顯示,直接使用顔色或Color是沒有用的
使用shape的時候要注意設定size屬性不設定寬高分割線就不會顯示出來,如果使用line那填充顔色隻能使用stroke來顯示顔色
使用shape的時候一定要添加<size> 例如:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/account_line" />
<size android:height="1px" />
</shape>
2、android:showDividers = "middle|end|beginning|none"
middle 在每一項中間添加分割線
end 在整體的最後一項添加分割線
beginning 在整體的最上方添加分割線
none 無
在Java代碼中可以使用下面兩個方法設定android:showDividers和android:divider
linearLayout.setShowDividers:設定android:showDividers屬性。
linearLayout.setDividerDrawable: 設定android:divider屬性。
PS:可以參考
<a target="_blank" href="http://blog.csdn.net/lmj623565791/article/details/42407923">Android 自定義控件 優雅實作元素間的分割線 (支援3.0以下)</a>
====================================================================================
作者:歐陽鵬 歡迎轉載,與人分享是進步的源泉!
====================================================================================