版权声明:本文为xing_star原创文章,转载请注明出处! 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.Toolbarandroid: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"> <TextViewandroid: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居中的目的,也是可以的。 |
|