CoordinatorLayout 、AppBarLayout实现折叠导航栏

533 阅读1分钟

CoordinatorLayout:

协调者布局直接继承于ViewGroup,主要通过BeHavior管理直接子view。

AppBarLayout

实现了Behavior,以此实现相应的折叠效果。AppBarLayout是一个LinearLayout。

image.png

CollapsingToolbarLayout

一般作为AppBarLayout的子布局,提供一个可以折叠的ToolBar app :collapsedTitleGravity 指定折叠状态的标题如何放置,可选值:top、bottom等

app :collapsedTitleTextAppearance="@style/TextAppearance.CollapsedTitle" 指定折叠状态标题文字的样貌

app:expandedTitleTextAppearance=** "@style/TextAppearance.ExpandedTitle" 指定展开状态标题文字的样貌

app:contentScrim="#ff7700" 指定CollapsingToolbarLayout完全被滚出到屏幕外时的状态栏颜色

app:expandedTitleGravity展开状态的标题如何放置

app:titleEnabled指定是否显示标题文本

app:toolbarId指定与之关联的ToolBar,如果未指定则默认使用第一个被发现的ToolBar子View

app:layout_collapseParallaxMultiplier="0.7" 设置视差的系数,介于0.0-1.0之间。

app:layout_collapseMode="pin"(子布局设置折叠模式) 有两种“pin”:固定模式,在折叠的时候最后固定在顶端;“parallax”:视差模式,在折叠的时候会有个视差折叠的效果。

嵌套使用示例:

image.png

AppBarLayout 下面的布局:

image.png

动态设置Toolbar上的文字

image.png