一:目的效果
- 1.这个时候上图,不废话
二:你需要了解的概念
1. **CoordinatorLayout **
-
该控件是Design包下的一个控件,也是Design包中最复杂、功能最强大的控件:那么它的神奇之处在哪里? 它是众多子view的领导者,能组织view之间互相协作的一个ViewGroup。
-
CoordinatorLayout使得子view之间知道了彼此的存在,一个view可以随着另一个view的变化而变化, CoordinatorLayout 所做的事情就是当成一个通信的桥梁,连接不同的view,并使用 Behavior 对象进行通信。
-
Behavior才是CoordinatorLayout强大的根本,所有的控制权都在Behavior。系统为我们提供了很多Behavior,如:FloatingActionButton.Behavior,AppBarLayout.Behavior,AppBarLayout.ScrollingViewBehavior,这不是本文重点这里不展开
2.本例的目的
- 就如上面显示的,滑动RecyclerView ToolBar控件会随着下拉消失,下拉出现。
三 .要实现滚动必须具备以下条件
- 最外层 CoordinatorLayout作为父控件,必须是这个牛叉的控件
- 给因滑动而出现或者消失的组件设置 app:layout_scrollFlags=”scroll|enterAlways” 属性
- 给滑动的组件设置app:layout_behavior属性
【注意:】这里使用的Behavior 是@string/appbar_scrolling_view_behavior**),所以需要滚动的组件必须为其子view,才能实现滚动。
四. 实现过程
1 . 布局文件(主界面布局)
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.zhang.testing.new