android - Android 折叠工具栏,如 Android 设置应用程序
问题描述
我正在尝试创建一个像 Android 设置应用程序这样的折叠工具栏。
我想要什么:(设置->显示,这是带有 Android 9 的三星 Galaxy J5 2017)
https://github.com/danut-betuel/CollapsingToolbarDemo/blob/master/android_collapsing_toolbar.gif
我做了什么:
https://github.com/danut-betuel/CollapsingToolbarDemo/blob/master/collapsing_toolbar.gif
这些不是 100% 相同的。
还有其他更简单的方法来实现这一点吗?
我为此做了一个演示项目。(https://github.com/danut-betuel/CollapsingToolbarDemo)
解决方案
我认为 CollapsingToolbar 的视图太复杂了,很难用它来做一些自定义的事情。制作这样的动画的最简单方法是 MotionLayout。使用 MotionLayout,您可以使用关键帧自定义动画持续时间 ( https://medium.com/google-developers/defining-motion-paths-in-motionlayout-6095b874d37 ) 不幸的是,MotionLayout 目前处于测试阶段。但是,无论如何,我建议尝试一下。
使用 MotionLayout 折叠行为的更多示例: https ://blog.stylingandroid.com/motionlayout-collapsing-toolbar-part-1/ https://medium.com/google-developers/introduction-to-motionlayout-part-iii- 47cd64d51a5
推荐阅读
- matlab - 在 '1970-01-01 00:00:00.0 0:00' 这种格式中,在 'nc' 文件的时间单位中给出的这个额外的 '0:00' 是什么?
- flutter - 密码不匹配时颤振显示错误
- android - 如何删除 (HTTPLog)-Static: isSBSettingEnabled false?
- python - 在没有现有显式索引的情况下旋转/重塑 DataFrame
- c++ - 打印“*”时退出在 VSCode 中调试 c++ 应用程序
- jmeter - 如何在使用 jmeter 对任何应用程序进行负载测试时设置网络带宽
- javascript - module.exports 功能
- node.js - Azure Blob 存储 - 上传有进度的文件
- spring - Spring mvc Camel RouteBuilder rabbitMQ 连接重置异常
- odoo-11 - Odoo 的 qweb groups_id