通过保持焦点在中心元素上滚动VerticalGridView。我正在实现一个列数为1的verticalgridview,我想保持焦点在中心的单个项上并移动verticalgridview。我希望将焦点设置在垂直网格视图中心对象上,并通过固定焦点来滚动视图
通过保持焦点在中心元素上滚动VerticalGridView。我正在实现一个列数为1的verticalgridview,我想保持焦点在中心的单个项上并移动verticalgridview。我希望将焦点设置在垂直网格视图中心对象上,并通过固定焦点来滚动视图
VerticalGridView包含其内置的布局管理器,可以实现此功能。不要使用verticalGridView.setLayoutManager(new LinearLayoutManager())
,这通常是在RecyclerView中使用的方法。默认情况下,VerticalGridView的焦点项始终位于中心位置,除非该项位于开头/结尾或者项目太少。
如果项目太少,您可以使用verticalGridView.setWindowAlignment(WINDOW_ALIGN_NO_EDGE)
。现在,开头/结尾的项目也将位于中心位置。根据需要选择WINDOW_ALIGN_LOW_EDGE
或WINDOW_ALIGN_HIGH_EDGE
。默认设置为WINDOW_ALIGN_BOTH_EDGE
。
您还可以使用verticalGridView. setWindowAlignmentOffsetPercent (offsetPercent)
手动确定焦点位置。如果offsetPercent
为50,则焦点位于中心位置;如果为90,则靠近底部;如果为10,则靠近顶部等。