通过将焦点保持在中心元素上滚动 VerticalGridView 或 RecyclerView

Yas*_*ali 3 android focus leanback android-recyclerview

通过将焦点保持在中心元素上滚动 VerticalGridView。我正在实现一个列数为 1 的垂直网格视图,并且我想将焦点保持在位于中心的单个项目上并移动垂直网格视图。我想将焦点设置在垂直网格视图中的中心对象上,并通过将焦点固定在那里来滚动视图

Yid*_*Lin 5

VerticalGridView 包含其内置的布局管理器,它正是这样做的。千万不要使用verticalGridView.setLayoutManager(new LinearLayoutManager()),哪一个会通常RecyclerView做。默认情况下,VerticalGridView 的焦点项目始终位于中心,除非项目位于开头/结尾,或者项目太少。

如果项目太少,您可以使用verticalGridView.setWindowAlignment(WINDOW_ALIGN_NO_EDGE). 现在开头/结尾的项目也将位于中心。您也可以选择WINDOW_ALIGN_LOW_EDGEWINDOW_ALIGN_HIGH_EDGE取决于您的需要。默认值为WINDOW_ALIGN_BOTH_EDGE.

您也可以使用verticalGridView. setWindowAlignmentOffsetPercent (offsetPercent)手动确定焦点位置。如果offsetPercent是50,则焦点在中心;如果是 90,则向底部;如果是 10,它就在顶部附近,等等。