Android Cardview Focusable - PullRequest
       11

Android Cardview Focusable

0 голосов
/ 24 марта 2019

В настоящее время приложение для Android использует Android CardView. Однако я хочу сделать фокусировку на просмотре карт, чтобы его можно было использовать на Android TV с пультом. На данный момент вы не можете видеть, какой вариант вы выбираете с пульта, так как он не отличается от оригинала.

Как я могу сделать так, чтобы при наведении на элемент карты, он получал серый оттенок или контур или что-то, чтобы показать, какой вариант выбран?

Ответы [ 3 ]

0 голосов
/ 28 марта 2019

Если я правильно понял ваш вопрос, проблема не в том, что представления не фокусируются, а в том, что вы не видите, какое представление находится в фокусе. Одним из решений этой проблемы является установка флага useFocusDimmer в вашем ListRowPresenter. Это можно сделать в конструкторе: public ListRowPresenter(int focusZoomFactor, boolean useFocusDimmer) {}

0 голосов
/ 28 марта 2019

Вы можете найти различные решения для этого с разных точек зрения:

1.Вы можете использовать cardview с библиотекой googles lean back для Android TV. Это идеальное и идеальное решение, которое вы можете найти. Фокус карты будет обрабатываться здесь автоматически.

2.Вы можете установить многоцветный фон для различных состояний компонента пользовательского интерфейса [Здесь - просмотр карты], используя рисование с состояниями, управляемыми соответствующим цветом.

0 голосов
/ 26 марта 2019

Это не проблема CardView, насколько я понимаю. (I am not too much experienced in Android TV)

Вы должны проверить выделение ListView и указать свой собственный код для одновременного выделения выбранных строки и элемента, затемняя неактивную строку.

Я бы порекомендовал использовать Селектор, чтобы сделать предмет Focusable.

Эта ссылка может помочь вам в дальнейшем.

  1. https://medium.com/androiddevelopers/customizing-leanback-for-android-tv-3f8d4a0b2839

  2. https://developer.android.com/training/tv/start/navigation#focus-selection

...