Wie ändere ich die Hintergrundfarbe des Infobereichs in einer ImageCardView?

9

Ich versuche, die Hintergrundfarbe der infoArea auf einer ImageCardView in der Android Leanback Library zu ändern, wenn die Karte ausgewählt ist. Derzeit habe ich versucht, den Hintergrund im OnItemViewSelectedListener zu ändern. Dadurch wird der Hintergrund geändert, das zuvor ausgewählte Element wird jedoch nicht gelöscht.

%Vor%

Ich möchte so etwas erreichen:

Irgendwelche Ideen? Danke.

    
brwngrldev 22.01.2015, 17:28
quelle

3 Antworten

6

Ich habe eine einfachere Lösung gefunden, bei der ich nur die aktuell ausgewählte Ansicht überwache und dann den darauf basierenden Hintergrundbereich ändere.

%Vor%     
brwngrldev 23.01.2015, 14:23
quelle
5

Ich habe dies erreicht, indem ich ImageCardView erweitert habe, um eine benutzerdefinierte Farbe zu speichern.

%Vor%

Ich verwalte die Standardhintergrundfarbe und die ausgewählte Farbe standardmäßig als Elementvariable in meinem Presenter.

%Vor%

Überschreiben Sie die setSelected-Methode der Kartenbildansicht:

%Vor%

Lass es mich wissen, wenn du irgendwelche Fragen hast!

    
athor 22.01.2015 22:07
quelle
0

Wenn Sie visuelle Stile von fokussierten Kartenansichten dynamisch ändern möchten, können Sie OnFocusChangeListener auf Ihrer ImageCardView festlegen. Ein vollständiges Beispiel finden Sie im Projekt von Google Samples magerback-showcase .

Dies ist ein kurzes Beispiel, in Ihrer ImageCardViewPresenter-Klasse etwa:

%Vor%

Um die richtigen Layout-IDs aller untergeordneten Ansichten der Karte zu erhalten, suchen Sie in der XML-Quelle, zum Beispiel hier: lb_image_card_view.xml

    
ElectroBuddha 18.09.2017 09:46
quelle

Tags und Links