【问题标题】:Scroll Outer Scroll View Before Inner Scroll View - Android在内部滚动视图之前滚动外部滚动视图 - Android
【发布时间】:2020-06-30 09:43:36
【问题描述】:

目标

当用户尝试滚动回收站视图时,外部视图(白色视图)应向上滚动(或展开)以显示更多回收站视图。


到目前为止我所做的尝试

  1. 嵌套滚动视图:我将白色视图放置在嵌套滚动视图中。这导致回收器视图在滚动时获得优先权。所以结果是回收器视图首先滚动到列表的末尾,然后白色视图向上滚动以显示更多回收器视图。我在嵌套滚动视图和嵌套滚动视图的线性布局上尝试了一些设置 isFocusable 和 isFocusableOnTouch。

  2. 在滚动回收器视图时转换白色视图的 Y:在这里,我在回收器视图上设置了滚动监听器,当滚动视图时,我还 translatedY 的白色查看dy。这几乎达到了我想要的效果。但是当回收器视图缓慢滚动时,回收器视图中的项目会出现“故障”(跳转位置不规则)。

这背后的代码:

var yPos = 200

recyclerView.addOnScrollListener(object : OnScrollListener() {
    override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
        super.onScrolled(recyclerView, dx, dy)
        yPos -= dy
        if (yPos >= 0)
            whiteView.animate().translationY(yPos).duration = 0
    }
}

【问题讨论】:

    标签: android android-recyclerview android-scrollview android-nestedscrollview


    【解决方案1】:

    我认为更好的方式是使用 CoordinatorLayout,在这里你可以看到例子:https://blog.mindorks.com/using-coordinator-layout-in-android

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多