在中心设置 ActionBar 标题文本

Set ActionBar title text in center

如何将操作栏文本设置为居中。我使用以下代码将文本设置为居中:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center">


  <TextView
       android:id="@+id/title"
       android:layout_width="match_parent"
       android:text="Example"
       android:layout_height="wrap_content"
       android:layout_centerInParent="true"
       android:ellipsize="end"
       android:maxLines="1"
       android:textAppearance="?android:attr/textAppearanceMedium"
       android:textColor="@color/white"
       android:gravity="center" />

</RelativeLayout>

Activity:

ActionBar.SetDisplayOptions(ActionBarDisplayOptions.ShowCustom, ActionBarDisplayOptions.ShowCustom);

LayoutInflater inflater = (LayoutInflater)GetSystemService(Context.LayoutInflaterService);
View v = inflater.Inflate(Resource.Layout.layout_actionbar_centerTitle, null);

ActionBar.LayoutParams p = new ActionBar.LayoutParams(
        ViewGroup.LayoutParams.MatchParent,
        ViewGroup.LayoutParams.MatchParent,
       GravityFlags.Center);

var title = ((TextView)v.FindViewById(Resource.Id.title));
title.Text = AgliveResource.ContactUs;

ActionBar.SetCustomView(v, p);
ActionBar.SetDisplayShowTitleEnabled(true);
ActionBar.SetDisplayHomeAsUpEnabled(true);

当我在右边有汉堡包菜单,在左边有后退图标时,这非常有效。但是有些屏幕不需要汉堡菜单,那时文本不会正确显示在中心。

带菜单的图片 1: 图 2 没有菜单:

如果您没有汉堡菜单,请在右侧留出 56dp 的边距

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginRight="56dp"
android:gravity="center">


  <TextView
       android:id="@+id/title"
       android:layout_width="match_parent"
       android:text="Example"
       android:layout_height="wrap_content"
       android:layout_centerInParent="true"
       android:ellipsize="end"
       android:maxLines="1"
       android:textAppearance="?android:attr/textAppearanceMedium"
       android:textColor="@color/white"
       android:gravity="center" />

</RelativeLayout>

您可能需要将文本视图宽度 android:layout_width="match_parent" 更改为 android:layout_width="wrap_content"

<RelativeLayout
        android:layout_width="match_parent"
        android:id="@+id/navBar"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:background="@color/app_color_Brown">
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/backBtn"
            android:paddingLeft="5dp"
            android:paddingRight="5dp"
            android:layout_centerVertical="true"
            android:layout_alignParentLeft="true"
            android:src="@drawable/back_icon" />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingTop="20dp"
            android:paddingBottom="20dp"
            android:layout_centerInParent="true"
            android:text="Privacy Policy"
            android:layout_centerVertical="true"
            android:layout_centerHorizontal="true"
            />
    </RelativeLayout>