关于CoordinatorLayout 和layout_behavior属性的问题、

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

这是正常的吗?如果我要实现不超出屏幕,应该怎样做呢?
...全文
14279 点赞 收藏 11
写回复
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点半回来看看
回复 点赞
发动态
发帖子
Android
创建于2009-10-09

4.6w+

社区成员

9.0w+

社区内容

移动平台 Android
社区公告
暂无公告