Android Toolbar中的title居中问题

Android AUmaWSsSoi 1周前 (07-03) 7次浏览 0个评论
文章目录[隐藏]

Android Toolbar中的title居中问题

从Toolbar出来后,用Toolbar代替ActionBar越来越常见了。当然了也有App是自定义TitleBar,保持苹果风格的效果。

近期碰到网易云信的Actionbar那块都是用Toolbar来实现的,导致Title居左,跟整个app的风格不搭,需要修改。

本文想要记录的是,如何让Toolbar实现title文字水平居中。在android的activity页面里,使用Toolbar.setTitle(“Title”)后,title的位置是位于左边的,太过于靠左了。在Toolbar的源代码中,也不找到相关的Api让其居中显示,那么只能另想办法了。

参考如下代码来解决问题,xml的布局为:

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="@color/white"
    app:titleTextAppearance="@style/Toolbar.TitleText"
    app:subtitleTextAppearance="@style/Toolbar.SubTitleText">

    <TextView
        android:id="@+id/tv_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:lines="1"
        android:textColor="@color/black"
        android:ellipsize="end"
        android:textSize="16dp" />
</android.support.v7.widget.Toolbar>

就是在Toolbar这个父容器下,添加一个TextView控件,让它作为Title显示,隐藏掉Toolbar的TitleView控件。

封装一个java方法

private void setTitleText(CharSequence title) {
    if (tvTitle != null) {
        toolbar.setTitle("");
        tvTitle.setText(title);
    } else {
        toolbar.setTitle(title);
    }
}

用这种取巧的方式来达到Title居中的目的,也是可以的。


java问与答 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:http://javaexception.com/archives/167
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址