天天看點

我的Android進階之旅------>如何在多個LinearLayout中添加分隔線

我的Android進階之旅------>如何在多個LinearLayout中添加分隔線

如果要适合于所有的Android版本,可以在多個LinearLayout放置用于顯示分隔線的View。例如,放一個ImageView元件,然後将其背景設為分隔線的顔色或圖像,分隔線View的定義代碼如下:

效果如下:

我的Android進階之旅------>如何在多個LinearLayout中添加分隔線

在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>

                            ====================================================================================

  作者:歐陽鵬  歡迎轉載,與人分享是進步的源泉!

====================================================================================

我的Android進階之旅------&amp;gt;如何在多個LinearLayout中添加分隔線

繼續閱讀