CoordinatorLayout父布局的Behavior

     CoordinatorLayout帮助我们协调它所包含的子view之间的交互。CoordinatorLayout的工作原理是搜索定义了

CoordinatorLayout父布局的子View,不管是通过在xml中使用app:layout_behavior标签还是通过在代码中对View类

中使用@DefaultBehavior修饰符来添加注解的,当滚动发生时,CoordinatorLayout会尝试触发那些声明了依赖的子View.

所有的Behavior都是继承自CoordinatorLayout.Behavior的(官方文档),这个类定义了一个View该如何响应包含在同一个

CoordinatorLayout内的其他View的变化。

 

     一般自定义Behavior,会继承以下两种类型的Behavior:

 1,AppBarLayout.Behavior(用于当滚动发生时让AppBarLayout发生改变)

 2,FloatingActionButton.Behavior(用于当滚动发生时让FAB改变)

 

继承自AppBarLayout.Behavior一般只需要覆写两个方法即可:layoutDependsOn(),onDependentViewChanged()。

继承自FloatingActionButton.Behavior自定义Behavior可参考这个ScrollAwareFABBehavior

 

更多参考:自定义Behavior详解

posted @ 2017-03-10 18:12  JakeyYe  阅读(228)  评论(0编辑  收藏  举报