Ich habe eine Listenansicht und einen Adapter, der den Listenelementen alternierende Hintergrundfarben ("zebra" -Listenstil) zuweist:
%Vor%Aber jetzt, wenn ich ein Element mit dem Scrollrad wähle oder wenn ich auf ein Element klicke, überschreiben die ursprünglichen Farben zum Auswählen / Klicken meine benutzerdefinierten Hintergründe nicht (ich kann die Originalfarbe unter der von mir eingestellten sehen) / p>
Wie kann ich die Originalfarben für diese Zustände einstellen?
Ich denke, der einfachste Weg besteht darin, zwei Selektoren zu erstellen, die als Hintergrundressourcen verwendet werden, mit einer transparenten Farbe im state_selected-Modus: (res / drawable / alterselector1.xml:)
%Vor%(res / drawable / alterselector2.xml:)
%Vor%(res / values / colors.xml:)
%Vor%Dann setzen Sie die Hintergründe in der getView-Methode des Adapters mit der Methode setBackgroundResource:
%Vor%Wenn Sie jetzt eine Zeile auswählen, wird der ursprüngliche Auswahlbereich nicht von Ihrem Hintergrund ausgeblendet.
Sie müssen die Listen-Hervorhebungsfarbe ändern wenn Sie es über Stile tun
%Vor%oder Sie können dasselbe Attribut im Code festlegen my_selector ist ein State-Drawable - suchen Sie Beispiele im SDK-Verzeichnis:
%Vor%