最近开发一个特效需要使用 Coordinatorlayout+AppBarLayout+CollapsingToolbarLayout+Toolbar 实现一个吸顶的效果。
其中有个需求是toolbar的title居中。
第一步:需要在CollapsingToolbarLayout添加app:collapsedTitleGravity="center";设置收起时CollapsingToolbarLayout的title在toolbar中居中显示。
第二步:app:collapsedTitleTextAppearance="@style/Toolbar.TitleText"设置收起时title文本样式。
第三步:给toolbar设置
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
第三步是隐藏的一个坑。一开始没有设置这个title总是中间偏右一些。因为toolbar的center是把左侧的navigater刨除后开始计算的。所以需要设置开始的其实位置。
下面一个坑是有个需求,返回按钮上滑到一定位置的时候改变样式,把一个×换成
首先因为有要求要title居中,又不想自定义个ToolBar所以直接放弃了使用原生的toolbar的返回按钮。
第二,经过调研发现使用一个和AppBarLayout平级的ImageView也无法满足这个需求。因为当CollapsingToolbarLayout折叠起来以后会覆盖掉返回按钮的ImageView,所以也放弃了。
最后想起来了FloatingActionButton传说这个控件一直在Z轴最上层。最后使用该控件的确实现了需求。布局文件如下。记录下。
<