修改Toolbar的返回按钮图标:
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?android:actionBarSize"
app:layout_collapseMode="pin"
app:navigationIcon="@mipmap/back" app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
layout_collapseMode=”pin”
设置为这个模式时,当CollapsingToolbarLayout完全收缩后,Toolbar还可以保留在屏幕上
pin:在滑动过程中,此自布局会固定在它所在的位置不动,直到CollapsingToolbarLayout全部折叠或者全部展开
app:layout_collapseMode=”parallax”
视察效果,在滑动过程中,不管上滑还是下滑都会有视察效果
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:contentScrim="@color/peron_bacground"
app:collapsedTitleGravity="left"
app:expandedTitleGravity="center_horizontal"
app:expandedTitleMarginBottom="@dimen/collapsing_toolbar_layout_title_marginbottom"
app:expandedTitleTextAppearance="@style/ExpandTitleStyle"
app:layout_scrollFlags="scroll|exitUntilCollapsed|enterAlways">
app:contentScrim
设置当完全CollapsingToolbarLayout折叠(收缩)后的背景颜色
app:collapsedTitleGravity=”left”
折叠后标题的位置
app:expandedTitleGravity=”center_horizontal”
展开后标题的位置
app:expandedTitleMarginBottom
展开后标题距离底部大小
app:collapsedTitleTextAppearance
这是在收缩时Title文字特点外形的设置
app:expandedTitleTextAppearance
同理这是在展开时Title文字特点外形的设置
app:expandedTitleMarginStart
设置扩张时候(还没有收缩时)title向左填充的距离
app:expandedTitleMarginEnd
这个同理是收缩结束时向左填空的距离
我在做这里的时候遇到一个问题,那就是CollapsingToolbarLayout里的Title的问题,一般默认是显示的,即使你不写,它也有会一个默认值一直显示在那里,等折叠收缩完的时候,停留在标题工具栏上。怎么消除这个默认值呢?怎么知道收缩完成了,再把这个值设置出来呢?这里我对AppBarLayout设置了一个监听,它有一个监听方法:addOnOffsetChangedListener监听折叠收缩的位移。如下:
app_bar_layout.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() {
@Override
public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) {
if (verticalOffset <= -head_layout.getHeight() / 2) {
mCollapsingToolbarLayout.setTitle("xx");
} else {
mCollapsingToolbarLayout.setTitle(" ");
}
}
});