版權聲明:本文為xing_star原創文章,轉載請註明出處! 本文同步自http://javaexception.com/archives/167 Android Toolbar中的title居中問題 從Toolbar出來後,用Toolbar代替ActionBar越來越常見了。當然了也有App是自定 ...
版權聲明:本文為xing_star原創文章,轉載請註明出處!
本文同步自http://javaexception.com/archives/167
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居中的目的,也是可以的。