如何将自定义操作栏视图的高度设置为wrap_content?

时间:2014-12-02 13:57:04

标签: android android-actionbar

我有一个带自定义视图的操作栏。我正在创建它:

ActionBar actionBar = getActionBar();
LayoutInflater inflator = (LayoutInflater) this .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View mCustomView = inflator.inflate(R.layout.header, null);
actionBar.setCustomView(mCustomView);
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);

问题是我的自定义操作栏视图没有占据预期的完整高度。高度降低&一切都变得紧张。它会降低到默认高度(我认为48dp)。

那么如何让“wrap_content”适用于操作栏中的自定义视图。我不想以像素为单位使用高度,因为我必须为各种屏幕制作许多视图。

以下是我的自定义操作栏的.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" >

<ImageView
    android:id="@+id/header"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@android:color/white"
    android:scaleType="fitXY"
    android:src="@drawable/header" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/header"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="8dp"
    android:text="TextView"
    android:textColor="@color/blue"
    android:textSize="18sp"
    android:textStyle="bold" />

<ImageButton
    android:id="@+id/imageButton1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_centerVertical="true"
    android:layout_marginLeft="15dp"
    android:background="@null"
    android:onClick="onBack"
    android:src="@drawable/back_button" />

</RelativeLayout>

0 个答案:

没有答案