在新的Android Support Library里面,新增了CoordinatorLayout, AppBarLayout等,可以实现toolbar向上滑动时隐藏等炫酷功能。
实现步骤:
首先在toolbar中添加app:layout_scrollFlags="scroll|enterAlways"
属性
然后在给有滚动嵌套的控件设置app:layout_behavior ="@string/appbar_scrolling_view_behavior"
比如我是在viewpager中使用recyclerview,那么可以在recyclerview中添加,或者直接在其上层布局viewpager中添加。
还要注意的是把activity的theme 设置成 NoActionBar。
按照以上步骤就可以实现滑动隐藏toolbar的效果
然而,开发过程中遇到一个蛋疼的问题。就像下图:
显然toolbar没有隐藏完全。。。
于是开始从头找代码,,,最后发现,,我在本布局中加入了android:fitsSystemWindows=true
引起的
android:fitsSystemWindows=“true”
的作用就是通过在 ViewGroup 上设置和系统窗口一样高度的边框(padding )来确保你的内容不会出现到系统窗口下面,所以我们会看到有一部分没有完全隐藏。
解决方案是将其改为false 或者直接省略不写
看一下效果图:
怎么样,是不是好看了些。