通过将焦点保持在中心元素上来滚动 VerticalGridView。我正在实现一个包含 1 列的 verticalgridview,我想将焦点放在位于中心的单个项目上并移动 verticalgridview。 I want to set focus on center object in vertical grid view and scroll the view by fixing the focus there
最佳答案
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,它就在顶部附近,等等。
关于android - 通过保持对中心元素的关注来滚动 VerticalGridView 或 RecyclerView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56934396/