美文网首页
Toolbar实现标题居中效果

Toolbar实现标题居中效果

作者: black_history | 来源:发表于2018-10-04 03:49 被阅读0次

    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";
    

    相关文章

      网友评论

          本文标题:Toolbar实现标题居中效果

          本文链接:https://www.haomeiwen.com/subject/htotaftx.html