[英]Toolbar title is not centered
我在應用程序中添加了Toolbar
。
為此,我將以下xml代碼用於自定義工具欄布局。
Toolbar.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#212E42"
android:minHeight="?attr/actionBarSize">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RelativeLayout
android:id="@+id/lefttoolbarContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/righttoolbarContainer"
android:background="#212E42">
<TextView
android:id="@+id/txtActionBarTitle"
style="@style/TextViewLargeWhite"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:gravity="center"
android:padding="@dimen/fivedp"
android:text="demo title for toolbar"
android:visibility="visible" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/righttoolbarContainer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true">
<ImageView
android:id="@+id/ivActionBarRightTwo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/fivedp"
android:contentDescription="@string/empty_description"
android:padding="@dimen/fivedp"
android:src="@drawable/ic_chart"
android:visibility="visible" />
<ImageView
android:id="@+id/ivActionBarRightOne"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginRight="@dimen/threedp"
android:layout_toRightOf="@+id/ivActionBarRightTwo"
android:contentDescription="@string/empty_description"
android:padding="@dimen/fivedp"
android:src="@drawable/ic_settings"
android:visibility="gone" />
</RelativeLayout>
</RelativeLayout>
在Android Studio輸出中,工具欄標題顯示在中間,如下所示。
但是,當我運行我的應用程序時,我無法將工具欄標題放在中間,如下所示:
當我在應用程序中動態添加工具欄導航圖標時,會出現此問題。
添加導航圖標后,該圖標將獲得其空間,並且工具欄標題將移至右側。
mToolbar = (Toolbar) findViewById(R.id.toolbar);
mToolbar.setNavigationIcon(R.drawable.logo)//Toolbar navigation icon will add here
setSupportActionBar(mToolbar);
編輯:我要實現的Toolbar
如下,為此,請檢查更新的Toolbat.xml :
請幫助我使工具欄標題居中!
嘗試更改textview屬性
android:gravity="center"
有了這個:
android:layout_gravity="center"
您可以刪除嵌套的relativelayout並將圖像lefttoolbarContainer
添加到relativelayout lefttoolbarContainer
。 由於標題位於inParentCenter中,因此在代碼中添加圖像時,標題不應向右移動(理論上至少)。 即
Toolbar.xml
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/default_dark_blue"
android:minHeight="?attr/actionBarSize">
<RelativeLayout
android:id="@+id/lefttoolbarContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#212E42">
<ImageView
android:id="@+id/navigationIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minWidth="56dp"
android:scaleType="center"
android:layout_alignParentLeft="true"/>
<TextView
android:id="@+id/txtActionBarTitle"
style="@style/TextViewLargeWhite"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:gravity="center"
android:padding="@dimen/fivedp"
android:text="demo title for toolbar"
android:visibility="visible" />
</RelativeLayout>
</android.support.v7.widget.Toolbar>
在你的活動/片段中
mToolbar = (Toolbar) findViewById(R.id.toolbar);
ImageView navigationIcon = mToolbar.findViewById(R.id.navigationIcon);
navigationIcon.setImageResource(R.drawable.logo);
setSupportActionBar(mToolbar);
希望能幫助到你..
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.