操作栏中的Android中心自定义视图

试图为我的操作栏设置一个自定义视图,但是它的问题是它没有填充操作栏的整个宽度,这使得我无法将对象居中。 如何在我的操作栏中设置填充整个操作栏的自定义视图?

设置我的操作栏的代码:

actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setDisplayShowTitleEnabled(false);

LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
actionBar.setCustomView(inflater.inflate(R.layout.actionbar_layout, null));

和我的actionbar_layout.xml:

<?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="wrap_content"
    android:layout_gravity="center"
    android:background="#EDEDED">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/title"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:textColor="#FFFFFF"
    android:text="Testing"/>
</RelativeLayout>

您必须在actionbar_layout.xml中为您的RelativeLayout设置android:layout_width =“wrap_content”; 这与android:layout_gravity =“center”一起允许将自定义视图居中放置在ActionBar中。


就我而言,问题在于上部布局总是被拉伸到内部视图的高度和重量。 只需在TextView中设置layout_height =“match_parent”即可使其工作:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView 
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:text="@string/actionbar_title"
        />
</LinearLayout>
链接地址: http://www.djcxy.com/p/76447.html

上一篇: Android center custom view in actionbar

下一篇: Can I use Visual C++ compiler without Visual Studio?