2013-07-31 18 views
16

bevor ich diesen Thread gepostet habe, habe ich gegoogelt (wie man listview items style) ich kann kein gutes Beispiel finden um zu zeigen, wie listview item style (normal, touch, long click etc) hintergrundfarben auch ich möchte so etwas tun VK listview mit border radius und box shadow, bitte ich brauche diese hilfe auch andere leute suchen hier gibt es ein beispiel oder kann mir jemand sagen was ich in den xml selector hintergrund des artikels setzen muss?android listview artikel stil?

Bild eines zeigen, wie Artikel Grenzradius Listview und Schatten

enter image description here

Bild 2 zeigt, wenn ich auf dem Punkt ist es

enter image description here

so Jungs klicken hat eine Möglichkeit, tust du das?

Antwort

22

Sicher, es ist am besten Arten verwenden hier:

<!-- res/values/styles.xml --> 
<style name="ListView" parent="@android:style/Widget.ListView"> 
    <item name="android:background">@color/light_grey</item> 
    <item name="android:cacheColorHint">@android:color/transparent</item> 
    <item name="android:divider">@android:color/transparent</item> 
    <item name="android:dividerHeight">0dp</item> 
    <item name="android:listSelector">@drawable/list_item_selector</item> 
</style> 

Die @color/light_grey Definition:

<!--- res/values/colors.xml ---> 
<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <color name="light_grey">#cccccc</color> 
</resources> 

Sie werden die light_grey Farbe in Ihrem colors.xml definieren müssen und erstellen Sie die Karte Stil list_item_selector.xml in Ihr Ordner "Drawables":

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android">  
    <item android:drawable="@drawable/item_selected" android:state_pressed="true"/> 
    <item android:drawable="@drawable/item_focused" android:state_focused="true"/> 
    <item android:drawable="@drawable/item_normal"/> 
</selector> 
+0

Innerhalb 'Selektor' verwenden Sie' Drawable', um Hintergründe zu setzen, aber ich muss Hintergrundfarben wie '#ffffff' einstellen, wie? –

+0

Da Sie einen Kartenstil mit einem Schatten betrachten, müssen Sie einen 9-Patch-Zeichensatz verwenden. Andernfalls wird der Selektor bis zum Rand jedes Listenelements verlängert, was hässlich aussehen würde. – Krylez

+4

@Krylez wie man das auf 'listView' setzt diesen Code:' style = "@ style/ListView" 'funktioniert nicht –

0

Der beste Weg ist Ihren Wert in Ihren AppTheme in der styles.xml Datei

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="android:listSelector">@color/teal_100</item> 
</style> 

Diese vorrangigen spiegelt auf allen Listviews außer Kraft zu setzen, die Sie in Ihrer Anwendung verwenden.

Sie können auch Zeichen statt Farbe verwenden.