Toolbar实现标题居中效果
2018-10-04 本文已影响0人
black_history
Toolbar用的非常多,可定制,很灵活。
它默认title是在toolbar内部左侧,其实这本没有什么,但是大家都把title往中间挪。
找了一下,没有找到设置title位置的方法,看大家都是往Toolbar里塞一个tv。
有两种情况:
1.单独使用Toolbar
2.和CollaspingToolbarLayout配合使用
第一种比较简单
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?android:actionBarSize">
<TextView
android:id="@+id/toolbar_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="标题"
/>
</android.support.v7.widget.Toolbar>
在代码中
toolbar.setTitle("");
可以看到,我们把title设置成空的字符串,把它变相隐藏了。所以说不是真的把标题居中了,而是实现了那种视觉效果。
第二种又分两种情况。
1.实现和上文一样的效果,标题居中,不随页面滑动而滑动。
我们如果还是像上面那样把布局写到CollapsingToolbarLayout里,会看到那个作为标题的tv到了右边。
搞不懂什么情况,但是我猜是为了CollapsingToolbarLayout的title预留空间,虽然我没有给CollapsingToolbarLayout设置title但是它依然留出了它的收缩后的空间。
解决办法:CollapsingToolbarLayout的app:titleEnabled="false";
,即不显示CollapsingToolbarLayout的title。
2.CollapsingToolbarLayout折叠后标题居中
这种情况就不必再Toolbar即添加TextView了
app:collapsedTitleGravity="center"
设定CollapsingToolbarLayout收起后,title的位置。
当然还有设定其伸展后title位置的
app:expandedTitleGravity="center";