关于CoordinatorLayout 和layout_behavior属性的问题、

Scott163425 2016-01-19 11:52:58
为了实现Toolbar随滚动收缩的效果,用到了上述两个元素,实现并没有出什么问题。
可今天无意间发现一个问题:
为滚动的布局设置layout_behavior属性后,这个布局会自动移动到Toolbar以下(类似MarginTop)。这个之前是知道的。
可是今天发现的问题是,虽然这个布局移动到了Toolbar以下,但它的高度(matchparent)并没有适应屏幕,而是超出屏幕一个Toolbar高度的距离。(如果不设置layout_behavior,而是直接marginTop,就不会超出屏幕.)

这是正常的吗?如果我要实现不超出屏幕,应该怎样做呢?
...全文
14892 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
达不溜哥哥 2016-08-04
  • 打赏
  • 举报
回复
mj100100 2016-04-18
  • 打赏
  • 举报
回复
引用 4 楼 Scott163425 的回复:
[quote=引用 2 楼 han1202012 的回复:] 没看懂 什么效果 截取一个 GIF 图 "Toolbar随滚动收缩" 怎么个滚动收缩法
这张更形象,注意左侧拉菜单的最后一项。[/quote] 你好,我想请问一下你是如何实现侧拉的布局在ToolBar之下的?
ArvinYoung 2016-02-17
  • 打赏
  • 举报
回复
楼主,你的那个效果有Demo吗,求参考
韩曙亮 2016-01-19
  • 打赏
  • 举报
回复
没看懂 什么效果 截取一个 GIF 图 "Toolbar随滚动收缩" 怎么个滚动收缩法
韩曙亮 2016-01-19
  • 打赏
  • 举报
回复
我先去健身房跑一小时 举铁 12点了 1点半回来看看
Kaede31416 2016-01-19
  • 打赏
  • 举报
回复
引用 7 楼 Scott163425 的回复:
[quote=引用 6 楼 Kaede31416 的回复:] 因为CoordinatorLayout实际上是一个FrameLayout 内部View的大小和其在FrameLayout中的大小相同 添加了behavior标签之后CoordinatorLayout内部会根据其依赖的View设置它的offset 从而达到动画的效果
我想了也是。那部分布局的高度应该是一开始就固定好的,不会随Toolbar的显示、隐藏而去适应。。。 那像我这种情况,只能舍弃Toolbar这种效果了吗?[/quote] 可以设计一个模仿Toolbar的控件 覆盖在ScrollView上面 ScrollView里面添加一个和Toolbar大小一样的空白View占位 上拉下拉的时候处理下相应的动画逻辑
Scott163425 2016-01-19
  • 打赏
  • 举报
回复
引用 6 楼 Kaede31416 的回复:
因为CoordinatorLayout实际上是一个FrameLayout 内部View的大小和其在FrameLayout中的大小相同 添加了behavior标签之后CoordinatorLayout内部会根据其依赖的View设置它的offset 从而达到动画的效果
我想了也是。那部分布局的高度应该是一开始就固定好的,不会随Toolbar的显示、隐藏而去适应。。。 那像我这种情况,只能舍弃Toolbar这种效果了吗?
Kaede31416 2016-01-19
  • 打赏
  • 举报
回复
因为CoordinatorLayout实际上是一个FrameLayout 内部View的大小和其在FrameLayout中的大小相同 添加了behavior标签之后CoordinatorLayout内部会根据其依赖的View设置它的offset 从而达到动画的效果
Scott163425 2016-01-19
  • 打赏
  • 举报
回复
引用 2 楼 han1202012 的回复:
没看懂 什么效果 截取一个 GIF 图 "Toolbar随滚动收缩" 怎么个滚动收缩法
找到问题了,把Toolbar的app:layout_scrollFlags="scroll|enterAlways"去掉,就不会出现第二张图的问题。可是,Toolbar的滚动效果也没了。。。难道就没有更好的解决方案吗?还有你举铁好了吗
Scott163425 2016-01-19
  • 打赏
  • 举报
回复
引用 2 楼 han1202012 的回复:
没看懂 什么效果 截取一个 GIF 图
"Toolbar随滚动收缩" 怎么个滚动收缩法

这张更形象,注意左侧拉菜单的最后一项。
Scott163425 2016-01-19
  • 打赏
  • 举报
回复
引用 1 楼 han1202012 的回复:
我先去健身房跑一小时 举铁 12点了 1点半回来看看

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧