Nachdem er eine Weile suchen gewesen Ich habe nicht in der Lage gewesen, eine Antwort auf diese Frage zu finden ...Android Ripple Effect Überschrieben von Selected Staat
ich einen Recycler Ansicht mit Elementen haben, die, wenn sie ausgewählt haben einen roten Hintergrund und weißer Text (vorher ist der Hintergrund weiß und der Text ist schwarz). Um dies zu tun, benutze ich einen Selektor.
Ich habe kürzlich versucht, einen Welleneffekt hinzuzufügen, aber wenn ich nicht lange auf das Element klicke, geht der Hintergrund des Elements direkt auf Rot ohne die Welligkeit. Ich gehe davon aus, dass dies der Fall ist, weil der Selektorstatus state_selected die Welligkeit von sate_pressed überschreibt?
Weiß jemand, ob es einen Weg um diese gibt? Hier ist der Selektor-Code, den ich verwende:
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@android:color/holo_red_dark" >
<item>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:drawable="@drawable/ripple"
android:state_pressed="true"/>
<item
android:drawable="@android:color/holo_red_dark"
android:state_selected="true"/>
<item android:drawable="@android:color/white"/>
</selector>
</item>
</ripple>
Vielen Dank im Voraus!
Für andere, wenn Sie mit Schaltflächen verwenden, funktioniert diese Layer-Liste Ansatz, aber Sie müssen State_activated verwenden – urSus
Obwohl die Welligkeit einwandfrei funktioniert, bleibt das Listenelement nicht ausgewählt. – Suleiman19
Das funktioniert sehr gut. Die Farbe des Ripple-Effekts und die ausgewählte Farbe sollten unterschiedlich sein, damit der Benutzer den Welleneffekt sehen kann, wenn er den bereits ausgewählten Gegenstand auswählt. – hfann