在中心设置 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>
如何将操作栏文本设置为居中。我使用以下代码将文本设置为居中:
<?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:
如果您没有汉堡菜单,请在右侧留出 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>