android - 在内部滚动视图之前滚动外部滚动视图 - Android
问题描述
目标
当用户尝试滚动回收站视图时,外部视图(白色视图)应该向上滚动(或展开)以显示更多回收站视图。
到目前为止我尝试过的
嵌套滚动视图:我将白色视图放置在嵌套滚动视图中。这导致回收器视图在滚动时获得优先权。所以结果是回收器视图首先滚动到列表的末尾,然后白色视图向上滚动以显示更多回收器视图。我在嵌套滚动视图和嵌套滚动视图的线性布局上尝试了一些设置 isFocusable 和 isFocusableOnTouch。
滚动回收器视图时转换白色视图的 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
}
}
解决方案
我认为更好的方法是使用 CoordinatorLayout,在这里您可以看到示例:https ://blog.mindorks.com/using-coordinator-layout-in-android
推荐阅读
- ios - UIPageControl 具有未指定的灰色背景颜色
- java - 可以更改 Integer[] 类型的最终静态字段
- loops - loop-pintool 的通用模式
- insert - 如何通过从每行的另一个表中选择最后一个 id 来增加插入中的变量?
- java - 谁在服务器中配置的 JNDI 数据源上执行连接?
- salesforce - Salesforce 闪电出局
- delphi - 在 BeginThread 方法中传递指向对象的指针
- php - 在 HTML/PHP 下拉列表中列出枚举字符串,其中包含来自 2 个 MSSQL 表的值
- wordpress - 海量动态主题购物车页面
- python - Mongoengine - 以可读格式返回日期