Pull to refresh

Comments 5

Спасибо больше за статью! Полезного материала по фокусу в Android TV Compose, хотя тема очень трудная.

Очень интересно, как вы решали вопросы с сохранением сфокусированного элемента при навигации между экранами.

К примеру, кликнули третий скриншот, перешли на экран полноэкранных скринов. Хотелось бы при возврате назад сохранить фокус именно на кликнутом (третьем) скриншоте.

В общем, вопрос - восстанавливаете ли сфокусированный элемент при навигации назад? Если да, какой способ используется? Может focusRestorer()?

При навигации назад используем зачастую FocusRequester.saveFocusedChild и FocusRequester.restoreFocusedChild в комбинации с Modifier.focusProperties для сохранения и восстановления фокуса, но для экранов с простой логикой достаточно и Modifier.focusRestorer.

Классная статья! Тема интересная и таких материалов в рунете мало.

А расскажите про библиотеку compose tv. Использовали ли вы ее и зачем она вообще нужна, если подобные модификаторы есть в базовом api?

Для Compose на AndroidTV есть только библиотека androidx.tv.foundation. В ней были аналоги обычных контейнеров LazyRow/LazyColumn/LazyGrid, только доработанные специально для AndroidTV: TvLazyRow/TvLazyColumn/TvLazyGrid.

Но с начала этого года эта библиотека стала Depricated. Гугл сместила фокус с поддержки отдельной библиотеки и доработала библиотеку androidx.compose.foundation для использования под AndroidTV. Все необходимые инструменты для AndroidTV появились в базовых библиотеках Compose с версии 1.7, а с версии 1.8 стали стабильно работать.

Sign up to leave a comment.