Android(安卓)AppBarLayout控件
1. AppBarLayout类
AppBarLayout
是5.0版本出现的控件,是一种支持响应滚动手势的app bar布局。
与AppBarLayout
组合的滚动布局(RecyclerView
、NestedScrollView
等),需要设置
app:layout_behavior = "@string/appbar_scrolling_view_behavior"
配置文件,
2. layout_scrollFlags配置
在AppBarLayout
的子视图中配置不同layout_scrollFlags
属性,会产生不同的效果。
-
不设置
Toolbar
在顶部不动,滑动只发生在NestedScrollView
内部。
-
设置为
scroll
Toolbar
随着手势一起滑动。
-
设置为
enterAlways
enterAlways
必须和scroll
一起使用。在向上滑动时和scroll
一样,但向下时,Toolbar
先进入屏幕。
-
设置为
enterAlwaysCollapsed
enterAlwaysCollapsed
必须和enterAlways
一起使用,且Toolbar
设置minHeight
。在向上滑动时和scroll
一样,但向下时Toolbar
先进入,但只显示minHeight
高度。
-
设置为
exitUntilCollapsed
exitUntilCollapsed
必须和scroll
一起使用,且Toolbar
设置minHeight
。滚动效果与scroll
类似,只是Toolbar
会固定在最上方,但只显示minHeight
高度。
-
设置为
snap
snap
必须和scroll
一起使用。向上滑动一小段距离,Toolbar
自动滑出屏幕。向下滑动一段距离,Toolbar
自动滑进屏幕。
3. 代码设置
可以通过AppBarLayout
的LayoutParams
设置滚动效果。
AppBarLayout.LayoutParams lp = (AppBarLayout.LayoutParams) toolbar.getLayoutParams();// SCROLL_FLAG_SCROLL// SCROLL_FLAG_ENTER_ALWAYS// SCROLL_FLAG_ENTER_ALWAYS_COLLAPSED// SCROLL_FLAG_EXIT_UNTIL_COLLAPSED// SCROLL_FLAG_SNAPlp.setScrollFlags(AppBarLayout.LayoutParams.SCROLL_xx);toolbar.setLayoutParams(lp);
4. 多子视图
AppBarLayout
可以设置多个子视图的layout_scrollFlags
属性
效果如下
相关文章
Android Snackbar控件
Android FloatingActionButton控件
Android Toolbar控件
Android AppBarLayout控件
Android CollapsingToolbarLayout控件
Android CardView控件
Android SlidingPaneLayout和DrawerLayout控件
Android NavigationView控件
Android TabLayout控件
更多相关文章
- Android调用摄像头取像
- 学习TimePicker和DataPicker
- android日期选择器,从底部弹出的日期选择器,有点像IOS日期选择器
- Android展开/收缩列表 ExpandableListView 每次只能有一个项目是
- Android的ScrollView和HorizontalScrollView-android学习之旅(四
- Android入门:Log介绍
- Android(安卓)混淆配置文件及常用第三方混淆
- Android(安卓)自定义控件,模仿小米秒表样式的时钟,完整代码注解
- Android(安卓)— 自定义圆形 ImageView 控件