Android底部弹出栏的新选择:Google新控件BottomSheetBehavior深坑钻探失败经验总结

下面这俩布局不能共存:(CoordinatorLayout)和(drawerLayout

  

说起来这俩布局就想掬一把辛酸泪。。。。

项目本来就有drawerLayout作为用户设置类的操作栏,

后来参考滴滴打车的UI,想把“上下车地点”界面从Intent跳转变成在主界面弹出下部菜单,

查了查实现方式,方法比较多:

fragmentDialogPopupWindow、和BottomSheetBehavior

看到Behavior是去年十月google新出的符合MaterialDesign的方便好用(坑爹)控件,果断开始研究


然而三天的苦苦钻研之后,结果是:

Behavior控件所依赖的父布局CoordinatorLayout,无法与侧滑栏所依赖的drawerLayout完美兼容

为此看了好几轮两个布局的源码和各种途径的实现方法,尝试过各种布局嵌套方法,都无法在保证侧滑栏正常弹出的前提下,用behavior的setState()方法成功的改变底部弹出栏的弹出状态,永远是一个能用则另一个不能用,扑街。。。


PS:

当然,如果不用DrawLayout的侧滑栏功能,则Behavior的操纵一切正常,唯一的小坑是XML布局中的:

app:behavior_peekHeight="50dp"

在设置peekHeight为0dp的时候,永远都无法弹出弹框,解决办法参考这个:http://www.jianshu.com/p/21bb14e3be94







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值