Android TV RowsSupportFragment центр первого и последнего элемента и бесконечная прокруткаAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Android TV RowsSupportFragment центр первого и последнего элемента и бесконечная прокрутка

Сообщение Anonymous »

Итак, я создаю приложение для Android TV, которое по сути представляет собой главный экран, полный сериалов и фильмов, как и любое другое традиционное приложение для потоковой передачи видео.
Для этого я просто использовал RowsSupportFragment с несколько строк и несколько докладчиков, так как мне приходится менять пользовательский интерфейс для каждой строки. Например: первая строка — это строка «Афиши», вторая — список продолжения просмотра, а затем все общие строки с простыми изображениями.
Для этого конкретного рекламного щита. code> row Мне нужно имитировать старое поведение карусели в этих двух точках:
  • Мне нужно центрировать все элементы в середине экрана, единственный Большой проблемой здесь являются первый и последний элементы, так как они больше смотрятся по краям экрана. Мне нужно найти способ центрировать эти элементы посередине.
  • Мне нужно зациклить всю строку так, как будто я нахожусь на последнем элементе, если нажимаю DPAD. Верно. нужно вернуться к первому элементу, и если я нахожусь в первом элементе и нажимаю DPAD влево, мне нужно перейти к последнему элементу, но как бесконечная прокрутка.
Не уверен, что это возможно сделать с помощью библиотеки Leanback в Android TV, так как я в этом очень растерян. Мне удалось получить GridView для каждой строки, выполнив это:

Код: Выделить всё

private fun getBillboardGridView(): HorizontalGridView? {
val billboardRowPosition = 0
val billboardContainer = verticalGridView?.get(billboardRowPosition )
return ((billboardContainer as? ViewGroup)?.get(1) as? ListRowView)?.gridView
}

and do something like:

private fun someTest(): HorizontalGridView? {
getBillboardGridView()?.smoothScrollToPosition(anyPosition)
}

Но я не смог ничего сделать с этим HorizontalGridView...
РЕДАКТИРОВАТЬ: Для пункта 1 я смог добиться этого с помощью используя:

Код: Выделить всё

gridView?.windowAlignment = BaseGridView.WINDOW_ALIGN_NO_EDGE
gridView?.windowAlignmentOffsetPercent = 25f
Заранее благодарим за помощь

Подробнее здесь: https://stackoverflow.com/questions/656 ... ite-scroll
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»