【发布时间】:2021-11-06 07:08:43
【问题描述】:
有没有办法将 recyclerView 的滚动计数器引用更改为从屏幕中心开始,而不是从头开始? 这样,当我调用 linearLayoutManager.findFirstVisibleItemPosition() 时,我会得到项目在屏幕中心而不是在屏幕开头的位置?
【问题讨论】:
标签: android android-recyclerview linearlayoutmanager
有没有办法将 recyclerView 的滚动计数器引用更改为从屏幕中心开始,而不是从头开始? 这样,当我调用 linearLayoutManager.findFirstVisibleItemPosition() 时,我会得到项目在屏幕中心而不是在屏幕开头的位置?
【问题讨论】:
标签: android android-recyclerview linearlayoutmanager
你的问题不够清楚!但我认为clipToPadding = true 和paddingBottom 可以用recyclerView 解决你的问题我理解你的问题是正确的
【讨论】:
我已经找到了解决这个问题的方法,我只是重写了 getPaddingLeft()、getPaddingEnd() 方法,如下所示。
private fun setupLinearManager(context: Context) {
linearLayoutManager = object : LinearLayoutManager(context, HORIZONTAL, false) {
override fun getPaddingLeft(): Int {
return screenWidth / 2
}
override fun getPaddingEnd(): Int {
return screenWidth / 2
}
}
recyclerView.layoutManager = linearLayoutManager
}
【讨论】: