我正在开发Leanback应用程序,并且已经通过RowsFragment
实现了行和所有内容,并且一切正常。
至于现在,当我在该行中的项目中左右移动时,已聚焦的项目将移至屏幕中间并获得焦点。
示例-
我希望重点突出的项目停留在行的开头而不是中间。
示例-
在网络上找不到任何内容。
真的很感谢有关此的任何信息。
最佳答案
如果您还希望将行的最后一项显示在开头,请使用此ListRowPresenter:
class FocusedItemAtStartListRowPresenter(focusZoomFactor: Int) : ListRowPresenter(focusZoomFactor) {
override fun createRowViewHolder(parent: ViewGroup): RowPresenter.ViewHolder {
val viewHolder = super.createRowViewHolder(parent)
with((viewHolder.view as ListRowView).gridView) {
windowAlignment = BaseGridView.WINDOW_ALIGN_LOW_EDGE
windowAlignmentOffsetPercent = 0f
windowAlignmentOffset = parent.resources.getDimensionPixelSize(R.dimen.lb_browse_padding_start)
itemAlignmentOffsetPercent = 0f
}
return viewHolder
}
}
这类似于Leanback Launcher的操作。