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。
更多参考: