Библиотека поддержки Leanback для проектов Android TV кажется хорошей попыткой стандартизировать работу с ТВ. Однако я считаю это слишком жестким и ограничивает настройку за пределами незначительных, таких как цветовые схемы и т. Д.
Мой вопрос: каков наилучший и наиболее эффективный способ настройки экранов, таких как DetailsFragment, без переписывания ключевых частей платформы Leanback?
Справочная информация
Экран сведений по умолчанию выглядит следующим образом:
Некоторые вещи, которые я хотел бы делать:
- Поместите одно или два дополнительных представления под DetailsOverViewRow (изображение, заголовок / описание, кнопки действий), которые показывают дополнительную информацию, уникальную для дизайна нашего приложения (например, панель реакции эмодзи и панель титров фильма - в основном эскизное изображение и текстовое представление фильма с названием создатели)
- Правильно обрежьте миниатюру карточки, чтобы полностью уместить ее на экране. Изображение в настоящее время обрезано, в отличие от просмотра карточек на экране браузера, где оно хорошо вписывается в карточное представление. XML-файл макета определяет довольно маленький размер контейнера (фиксированная высота 274dp), и, вероятно, поэтому изображение не обрезано должным образом
Что я пробовал
Расширьте DetailsOverViewRowPresenter
, чтобы иметь возможность расширять пользовательский XML-файл, определяющий дополнительные представления. К сожалению, этот класс скрывает свой метод инициализации ключа createRowViewHolder->private initDetailsOverview(ViewHolder vh)
, поэтому мне пришлось бы продублировать такие скрытые, но все же ключевые методы, что, на мой взгляд, лишает смысла создание подклассов. Есть ли лучший способ, чем воссоздать такой код? ПРИМЕЧАНИЕ: этот подход может быть аналогичен подходу, опубликованному в соответствующем вопросе но OP не стал вдаваться в подробности.