java - 如何使用折叠工具栏布局实现这种布局效果
问题描述
我希望折叠工具栏布局看起来像这样,它像默认值一样可见。
在向上滚动减少的高度,ImageView
它看起来像这样:
将高度降低ImageView
30% 到 40% 后,整个布局会随着缩小的ImageView
.reduce滚动。reduceImageView
必须是滚动而不是收缩。
我需要一些我真正坚持的起点。
在整个场景中,工具栏保持在其位置,工具栏没有任何反应。
解决方案
这是我能够想出的工作解决方案。
onCreate
班级:
val displayMetrics = baseContext.resources.displayMetrics
//setting the "zoomed in" effect on the image
image.layoutParams.width = displayMetrics.widthPixels + displayMetrics.widthPixels / 2
val originalWidth = image.layoutParams.width
scroll_view.setOnScrollChangeListener { _: NestedScrollView?, _: Int, y: Int, _: Int, _: Int ->
//adjust "if" check and formula as you wish
if (y < 200) {
image.layoutParams.width = (originalWidth - y*1.5).toInt()
image.requestLayout()
}
}
一些澄清。我根据屏幕的大小更改图像的宽度,以便图像首先“放大”,然后随着用户向下滚动,它会缩小到原始形式。
还要确保您recyclerView.setNestedScrollingEnabled(false);
在 RecyclerView 上有您希望平滑滚动。
如果出现以下结果:
推荐阅读
- clang-format - Clang-Format:在成员之间而不是成员内的初始化程序中换行?
- python-3.x - 从 google drive api 为 google scrips 项目安装触发器
- r - 我可以分隔 textAreaInputt 中的行吗?
- python - open(filepath) 和 open(os.path.abspath(filepath)) 的区别
- jenkins - 让 Jenkins 构建作业执行更长时间。故意。用于检测
- javascript - 路由到 React 中其他组件的特定部分
- logging - Fluent bit - TCP 输出插件 - 恒定连接和 JSON 流
- windows - 如何从 Windows 10 上停止的 mysql docker 容器访问 my.cnf 文件?
- sql - SQL - 名称丢失但不是
- assembly - 在 x86 组装中使用 PC 扬声器播放声音