Для этого я просто использовал RowsSupportFragment с несколько строк и несколько докладчиков, так как мне приходится менять пользовательский интерфейс для каждой строки. Например: первая строка — это строка «Афиши», вторая — список продолжения просмотра, а затем все общие строки с простыми изображениями.
Для этого конкретного рекламного щита. code> row Мне нужно имитировать старое поведение карусели в этих двух точках:
- Мне нужно центрировать все элементы в середине экрана, единственный Большой проблемой здесь являются первый и последний элементы, так как они больше смотрятся по краям экрана. Мне нужно найти способ центрировать эти элементы посередине.
- Мне нужно зациклить всю строку так, как будто я нахожусь на последнем элементе, если нажимаю DPAD. Верно. нужно вернуться к первому элементу, и если я нахожусь в первом элементе и нажимаю DPAD влево, мне нужно перейти к последнему элементу, но как бесконечная прокрутка.
Код: Выделить всё
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)
}
РЕДАКТИРОВАТЬ: Для пункта 1 я смог добиться этого с помощью используя:
Код: Выделить всё
gridView?.windowAlignment = BaseGridView.WINDOW_ALIGN_NO_EDGE
gridView?.windowAlignmentOffsetPercent = 25f
Подробнее здесь: https://stackoverflow.com/questions/656 ... ite-scroll