Android: Gesamte ListView ändert die Farbe im Fokus, nicht nur das untergeordnete ListView-Objekt

7

Ich versuche, einen Selektor auf eine ListView anzuwenden, damit alle ohne Touchscreen in meiner App navigieren können. Die Sache ist, durch Anwenden des Selektors auf die ListView scheint es nur die Hintergrundfarben auf die gesamte Liste anzuwenden, nicht die Elemente darin.

Irgendwelche Ideen? Hier ist ein Code:

%Vor%

listselector.xml im aufklappbaren Ordner:

%Vor%     
Allen Gingrich 24.08.2010, 16:57
quelle

1 Antwort

40

Der Grund dafür, dass die fokussierte Farbe auf die gesamte Liste angewendet wird, liegt darin, dass Sie direkt auf einen Farbwert für die fokussierten und gedrückten Zustände verwiesen haben. Es gibt einen bekannten Fehler in Android v2.3 und darunter, bei dem die Farbe, die gezeichnet werden kann, ihre Grenzen unter diesen Umständen nicht berücksichtigt.

Um dieses Problem zu beheben, können Sie eine Form erstellen, die mit den gewünschten Farben gezeichnet werden kann, und stattdessen darauf verweisen.

Definieren Sie beispielsweise die Form in 'drawables / list_selector_focused.xml' als:

%Vor%

Und dann referenziere das im Selektor:

%Vor%     
Charles Harley 07.05.2012 23:19
quelle

Tags und Links