把Toobar直接添加到AppBarLayout里面给予了你enterAlwayCollapsed和exitUntilCollapsed这些滚动标签的访问权限,而不是对不同元素如何对collapsing作出响应的详细控件能力。要想获取后者的效果,你可以使用CollapsingToolbarLayout:
1 <android.support.design.widget.AppBarLayout 2 android:layout_height=‘192dp‘ 3 android:layout_width=‘match_parent‘> 4 <android.support.design.widget.CollapsingToolbarLayout 5 android:layout_width=‘match_parent‘ 6 android:layout_height=‘match_parent‘ 7 app:layout_scrollFlags=‘scroll|exitUntilCollapsed‘> 8 <android.support.v7.widget.Toolbar 9 android:layout_height=‘?attr/actionBarSize‘ 10 android:layout_width=‘match_parent‘ 11 app:layout_collapseMode=‘pin‘/> 12 </android.support.design.widget.CollapsingToolbarLayout> 13 </android.support.design.widget.AppBarLayout>
以上设置使用了CollapsingToolbarLayout的app:layout_collapseMode=”pin”属性以确保Toolbar本身在视图collapse的时候依然能够被订在屏幕顶部。而可能更多的情况是,在你一起使用CollapsingToolbarLayout和Toolbar的时候,当布局完全可见的时候,标题将自动显示得更大,然后在toolbar collapse的时候过渡到它的默认尺寸。请注意在这些情况下,你应该调用CollapsingToolbarLayot的setTittle(),而非Toolbar本身的setTitle()。
查看Collapsing Toolbar效果请点击(打不开时候注意FQ)
除了可以订住一个视图之外,你能够使用app:layout_collapseMode=”parallax”(可选情况下,使用app:layout_collapseParallaxMultiplier=”0.7”来设置滚动视差乘法因子)来实现滚动视差效果(例如CollapsingToolbarLayout内部的兄弟ImageView)。这个使用示例将app:layout_collapseParallaxMultiplier和CollapsingToolbarLayout的app:contentScrim=”?attr/colorPrimary”配成对使用,结果是在视图collapse时,添加了全出血纱布效果。