【问题标题】:Change recyclerView scroll position reference更改 recyclerView 滚动位置参考
【发布时间】:2021-11-06 07:08:43
【问题描述】:

有没有办法将 recyclerView 的滚动计数器引用更改为从屏幕中心开始,而不是从头开始? 这样,当我调用 linearLayoutManager.findFirstVisibleItemPosition() 时,我会得到项目在屏幕中心而不是在屏幕开头的位置?

【问题讨论】:

    标签: android android-recyclerview linearlayoutmanager


    【解决方案1】:

    你的问题不够清楚!但我认为clipToPadding = truepaddingBottom 可以用recyclerView 解决你的问题我理解你的问题是正确的

    【讨论】:

    • 我正在使用带有水平 layoutManager 的 recyclerView,并调用 findFirstVisibleItemPosition() 以返回第一个可见项目,但我需要一种方法来获取屏幕中间的项目。
    • 所以你通过 findLastVisibleItemPosition() 获得了 lastVisiablePosition,中间项目的位置取决于你的逻辑
    【解决方案2】:

    我已经找到了解决这个问题的方法,我只是重写了 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
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-20
      • 1970-01-01
      相关资源
      最近更新 更多