Objekte mit wechselnden Farben auflisten

7

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?

    
zorglub76 12.01.2010, 16:35
quelle

2 Antworten

20

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.

    
Utyi 26.11.2010, 15:28
quelle
2

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%     
Alex Volovoy 12.01.2010 16:55
quelle

Tags und Links