Material Design控件之AppBarLayout

Material Design Android官方控件之介绍

AppBarLayout

  • AppBarLayout从本质上就是一个垂直的LinearLayout
  • 添加了一些材料设计的概念和特性,即滑动手势
  • 当某个可滑动的View(NestedScrollView)滑动手势改变时,作为AppbarLayout的子View可以通过app:layout_scrollFlags来定制的动作,
  • 严重依赖于协调手势布局CoordinatorLayout
  • 还需要一个可以独立滚动的兄弟节点(CoordinatorLayout 的子view(或间接子view)),如:NestedScrollView,recycleview
  • AppBarLayout一般作为toolbar或者CollapsingToolbarLayout父布局.

MaterialDesignWidget/AppBarLayoutActivity简单展示AppBarLayout的用法,

  • AppBarLayout替代LinearLayout成为Toolbar和TabLayout的父布局,
  • NestedScrollView增加app:layout_behavior,自动适应AppBarLayout高度,并且有层叠的阴影效果
  • AppBarLayout、NestedScrollView作为CoordinatorLayout的子布局,轻松地实现了在TabLayoutActivity的布局效果
  • 当然这三者的作用远不止如此

app:layout_scrollFlags

可选的五个属性

  • scroll
  • enterAlways,
  • enterAlwaysCollapsed,
  • exitUntilCollapsed,
  • snap

一般使用的组合有五种

  • scroll、
  • scroll|enterAlways、
  • scroll|enterAlways|enterAlwaysCollapsed、
  • scroll|exitUntilCollapsed、
  • scroll|snap

实例证明运用於单个子view,效果跟预期一样,多个子view同时定义app:layout_scrollFlags,效果可能不是预期,需要实际测试效果.

可以得到,layout_scrollFlags 主要是 为了与collapsingToolbarLayout配合使用的.尤其是scroll|exitUntilCollapsed 这个组合,可能有用的scroll|exitUntilCollapsed|snap

github 源码地址:https://github.com/LinweiJ/MaterialDesignWidget

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章