2013-11-21 37 views
0

我使用HoloEveryWhere獲取Android 2.x上的全息主題的支持,我想更改我的ListView分隔線的默認顏色。列表視圖分隔線顏色與HoloEveryWhere

我這樣做:

<ListView 
     android:id="@+id/listRecherche" 
     android:layout_marginLeft="15dp" 
     android:layout_marginRight="15dp" 
     android:layout_width="wrap_content" 
     android:divider="#e5e5e5" 
     android:dividerHeight="1dp" 
     android:layout_height="wrap_content" > 
</ListView> 

它運作良好,在Android 4.x的,但是在2.x中,我得到的是沒有更多的分隔,而是對整個ListView的一個#e5e5e5背景。

我考慮過高度問題,因爲我知道更改分隔線顏色會重設分隔線的高度。這就是爲什麼我在最後設置高度......但沒有效果。

+0

使用繪製的,而不是RGB顏色只是把一個文件名爲divider.xml在res /繪製/這樣你就可以訪問它爲R. drawable.divider;如果你可以這樣訪問它,那麼你可以在ListView的XML中使用android:divider =「@ drawable/divider」。 <?xml version =「1.0」encoding =「UTF-8」? 「#ffcdcdcd」android:endColor =「#ffcdcdcd」android:angle =「270.0」/>在list.xml項目的styles.xml中 @ drawable/divider 1px

+0

是的。這是一種解決方法,但它正在實現。如果您將它作爲答案發布,我會接受它。 – TrtG

回答

1

使用drawable而不是RGB顏色只需在res/drawable /中放置一個名爲divider.xml的文件,以便您可以像R.drawable.divider那樣訪問它;如果你可以這樣訪問它,那麼你可以在ListView的XML中使用android:divider =「@ drawable/divider」。

<?xml version="1.0" encoding="UTF-8"?> 
    <shape xmlns:android="schemas.android.com/apk/res/android"> 
    <gradient 
     android:startColor="#ffcdcdcd" 
     android:endColor="#ffcdcdcd" 
     android:angle="270.0" /> 

而且在styles.xml的列表視圖項

<item name="android:divider">@drawable/divider</item> 
<item name="android:dividerHeight">1px</item> 
+0

我無法讓它與漸變形狀一起工作,但我確實設法使這個技巧適用於矩形固體形狀 '<?xml version =「1.0」encoding =「UTF-8」?> <形狀xmlns:android =「http://schemas.android.com/apk/res/android」 android:shape =「rectangle」> ' –