android 自訂Listview分割線
ListView中每個Item項之間都有分割線,設定android:footerDividersEnabled表示是否顯示分割線,此屬性預設為true。
1.不顯示分割線只要在ListView控制項中添加android:footerDividersEnabled=false即可。
[html]
- android:id=@+id/local_groups_list
- android:layout_width=match_parent
- android:layout_height=wrap_content
- android:footerDividersEnabled=false />
2.改變ListView的分割線顏色和寬度,需要在布局中定義android:divider和android:dividerHeight屬性。
[html]
- android:id=@+id/local_groups_list
- android:layout_width=match_parent
- android:layout_height=wrap_content
- android:divider=@color/divider_color
- android:dividerHeight=1px />
屬性名稱 |
描述 |
android:choiceMode |
規定此ListView所使用的選擇模式。預設狀態下,list沒有選擇模式。 屬性值必須設定為下列常量之一: none,值為0,表示無選擇模式; singleChoice,值為1,表示最多可以有一項被選中; multipleChoice,值為2,表示可以多項被選中。 可參看全域屬性資源符號choiceMode。 |
android:divider |
規定List項目之間用某個圖形或顏色來分隔。可以用@[+] [package:]type:name或者?[package:][type:]name(主題屬性)的形式來指向某個已有資源;也可以用#rgb,#argb,#rrggbb或者#aarrggbb的格式來表示某個顏色。 可參看全域屬性資源符號divider。 |
android:dividerHeight |
分隔字元的高度。若沒有指明高度,則用此分隔字元固有的高度。必須為帶單位的浮點數,如14.5sp。可用的單位如px(pixel像素),dp(density-independent pixels 與密集度無關的像素), sp(scaled pixels based on preferred font size 基於字型大小的固定比例的像素), in (inches英寸), mm (millimeters毫米)。 可以用@[package:]type:name 或者?[package:][type:]name(主題屬性)的格式來指向某個包含此類型值的資源。 可參看全域屬性資源符號dividerHeight。 |
android:entries |
引用一個將使用在此ListView裡的數組。若數組是固定的,使用此屬性將比在程式中寫入更為簡單。 必須以@[+][package:]type:name或者 ?[package:][type:]name的形式來指向某個資源。 可參看全域屬性資源符號entries。 |
android:footerDividersEnabled |
設成flase時,此ListView將不會在頁尾視圖前畫分隔字元。此屬性預設值為true。 屬性值必須設定為true或false。 可以用@[package:]type:name 或者?[package:][type:]name(主題屬性)的格式來指向某個包含此類型值的資源。 可參看全域屬性資源符號footerDividersEnabled。 |
android:headerDividersEnabled |
設成flase時,此ListView將不會在頁首視圖後畫分隔字元。此屬性預設值為true。 屬性值必須設定為true或false。 可以用@[package:]type:name 或者?[package:][type:]name(主題屬性)的格式來指向某個包含此類型值的資源。 可參看全域屬性資源符號headerDividersEnabled。 |
衝突問題:
1.、listview在拖動的時候背景圖片消失變成黑色背景。等到拖動完畢我們自己的背景圖片才顯示出來。
2 、listview的上邊和下邊有黑色的陰影。
3、lsitview的每一項之間需要設定一個圖片做為間隔。
針對以上問題 在listview的xml檔案中設定一下語句。
問題1 有如下代碼結解決 android:scrollingCache=false
問題2 用如下代碼解決:android:fadingEdge=none
問題3 用如下代碼解決: android:divider=@drawable/list_driver 其中 @drawable/list_driver 是一個圖片資源
總體如下
android:id=@+id/myListView01
android:layout_width=fill_parent
android:layout_height=300dip
android:fadingEdge=none
android:divider=@drawable/list_line
android:scrollingCache=false
android:background=@drawable/list_background>
屬性名稱 |
描述 |
android:choiceMode |
規定此ListView所使用的選擇模式。預設狀態下,list沒有選擇模式。 屬性值必須設定為下列常量之一: none,值為0,表示無選擇模式; singleChoice,值為1,表示最多可以有一項被選中; multipleChoice,值為2,表示可以多項被選中。 可參看全域屬性資源符號choiceMode。 |
android:divider |
規定List項目之間用某個圖形或顏色來分隔。可以用@[+] [package:]type:name或者?[package:][type:]name(主題屬性)的形式來指向某個已有資源;也可以用#rgb,#argb,#rrggbb或者#aarrggbb的格式來表示某個顏色。 可參看全域屬性資源符號divider。 |
android:dividerHeight |
分隔字元的高度。若沒有指明高度,則用此分隔字元固有的高度。必須為帶單位的浮點數,如14.5sp。可用的單位如px(pixel像素),dp(density-independent pixels 與密集度無關的像素), sp(scaled pixels based on preferred font size 基於字型大小的固定比例的像素), in (inches英寸), mm (millimeters毫米)。 可以用@[package:]type:name 或者?[package:][type:]name(主題屬性)的格式來指向某個包含此類型值的資源。 可參看全域屬性資源符號dividerHeight。 |
android:entries |
引用一個將使用在此ListView裡的數組。若數組是固定的,使用此屬性將比在程式中寫入更為簡單。 必須以@[+][package:]type:name或者 ?[package:][type:]name的形式來指向某個資源。 可參看全域屬性資源符號entries。 |
android:footerDividersEnabled |
設成flase時,此ListView將不會在頁尾視圖前畫分隔字元。此屬性預設值為true。 屬性值必須設定為true或false。 可以用@[package:]type:name 或者?[package:][type:]name(主題屬性)的格式來指向某個包含此類型值的資源。 可參看全域屬性資源符號footerDividersEnabled。 |
android:headerDividersEnabled |
設成flase時,此ListView將不會在頁首視圖後畫分隔字元。此屬性預設值為true。 屬性值必須設定為true或false。 可以用@[package:]type:name 或者?[package:][type:]name(主題屬性)的格式來指向某個包含此類型值的資源。 可參看全域屬性資源符號headerDividersEnabled。 |
用心的朋友應該會發現,listview中在設定了背景之後。會有些問題。
1.、listview在拖動的時候背景圖片消失變成黑色背景。等到拖動完畢我們自己的背景圖片才顯示出來。
2 、listview的上邊和下邊有黑色的陰影。
3、lsitview的每一項之間需要設定一個圖片做為間隔。
針對以上問題 在listview的xml檔案中設定一下語句。
問題1 有如下代碼結解決 android:scrollingCache=false
問題2 用如下代碼解決:android:fadingEdge=none
問題3 用如下代碼解決: android:divider=@drawable/list_driver 其中 @drawable/list_driver 是一個圖片資源
總體如下
android:id=@+id/myListView01
android:layout_width=fill_parent
android:layout_height=287dip
android:fadingEdge=none
android:divider=@drawable/list_driver
android:scrollingCache=false
android:background=@drawable/list>