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.
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%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!
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
Tags und Links android android-tv leanback