Moi*_*han 1 java android android-layout kotlin android-recyclerview
我正在FocusLayoutManager使用RecyclerView. 一切都很好,但我一次只需要刷一项。我也尝试过LinearSnapHelper,其他人也尝试过,SnapHelperOneByOne但没有帮助。还尝试修改焦点布局管理器类本身但一切都是徒劳的。任何帮助,将不胜感激。
注意:我尝试在分配布局管理器后将SnapHelper其附加到。RecyclerView
val focusLayoutManager = FocusLayoutManager.Builder()
.focusOrientation(FocusLayoutManager.FOCUS_TOP)
.isAutoSelect(true)
.maxLayerCount(1)
.setOnFocusChangeListener { focusdPosition, lastFocusdPosition -> }
.build()
myRecycler.layoutManager = focusLayoutManager
Run Code Online (Sandbox Code Playgroud)
使用 Snap Helper 也没有帮助,并且会使滚动滞后(抽搐)
val mySnapHelper = SnapHelperOneByOne()
mySnapHelper.attachToRecyclerView(myRecycler)
Run Code Online (Sandbox Code Playgroud)
遇到同样的问题。设置焦点更改监听器代码如下。(找到了 Java 的一个解决方法)
.setOnFocusChangeListener((focusdPosition, lastFocusedPosition) -> {
if (focusdPosition == lastFocusedPosition - 1 || focusdPosition == lastFocusedPosition + 1) {
myRecycler.stopScroll();
}
})
Run Code Online (Sandbox Code Playgroud)
此代码将停止 RecyclerView 的滚动,如果当前焦点项目位于前一个焦点项目之后或之前,那么它将停止滚动。
删除 SnapHelper,因为它会与 FocusLayoutManager 产生滚动动画滞后。
| 归档时间: |
|
| 查看次数: |
607 次 |
| 最近记录: |