Android: 如何在操作栏的自定义视图中将组件居中?
Android: How to center a component in a custom view in action bar?
我有这样的布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="50dp" >
<TextView
android:id="@+id/title_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_toRightOf="@+id/backToScan"
android:gravity="center"
android:textAllCaps="true"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textStyle="bold" />
<ImageView
android:id="@+id/backToScan"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="8dp"
android:src="@drawable/back_button" />
</RelativeLayout>
现在我成功地将它添加为操作栏的自定义视图。但问题是我无法将 TextView 居中,我使用了很多方法,如 android:gravity="center" , android:layout_centerHorizontal="true" ,但它不起作用。
它总是向左浮动。我怎样才能使它居中?
选项菜单阻止 TextView
居中。将以下内容添加到您的 Activity
:
@Override
public boolean onPrepareOptionsMenu (Menu menu) {
return false;
}
现在可以使用了。
我有这样的布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="50dp" >
<TextView
android:id="@+id/title_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_toRightOf="@+id/backToScan"
android:gravity="center"
android:textAllCaps="true"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textStyle="bold" />
<ImageView
android:id="@+id/backToScan"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="8dp"
android:src="@drawable/back_button" />
</RelativeLayout>
现在我成功地将它添加为操作栏的自定义视图。但问题是我无法将 TextView 居中,我使用了很多方法,如 android:gravity="center" , android:layout_centerHorizontal="true" ,但它不起作用。
它总是向左浮动。我怎样才能使它居中?
选项菜单阻止 TextView
居中。将以下内容添加到您的 Activity
:
@Override
public boolean onPrepareOptionsMenu (Menu menu) {
return false;
}
现在可以使用了。