自定义操作栏布局没有获得适当的宽度

时间:2014-12-15 17:05:03

标签: android android-layout android-actionbar navigation-drawer

我正在尝试使用带导航抽屉的操作栏的自定义布局,但似乎宽度不一致。

以下是现在的样子:

ListView http://imageshack.com/a/img673/867/fTvd6X.png

由于某种原因,宽度未完全占据操作栏的左侧。

自定义操作栏中当前使用的项目包括:应用程序名称(文本视图),微调器(某些文本),Spinner右侧的ImageView。

这就是我的布局xm的样子:

   <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#000" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal" >

    <ImageView
        android:layout_width="35dp"
        android:layout_height="35dp"
        android:padding="10dp"
        android:layout_gravity="center_vertical|left"
        android:src="@drawable/someIcon" />

    <TextView
        android:id="@+id/appTextLabel"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:gravity="center"
        android:padding="10dp"
        android:text="someAppName"
        android:textColor="#555555"
        android:textSize="24sp"
        android:textStyle="bold" />

    <Spinner
        android:id="@+id/locationSpinner"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:background="#000"
        android:spinnerMode="dropdown" />

    <ImageView
        android:layout_width="20dp"
        android:layout_height="20dp"
        android:layout_gravity="center_vertical|right"
        android:src="@drawable/location_down_icon" />
</LinearLayout>

操作栏的示例代码:

    mActionBar = getSupportActionBar();

    mActionBar.setDisplayShowTitleEnabled(false);

    mActionBar.setDisplayShowCustomEnabled(true);

    mActionBar.setCustomView(actionBarLayout);

不知道这是怎么回事。

任何帮助都将非常感激。谢谢.. :))

1 个答案:

答案 0 :(得分:0)

这是图标(或徽标)的空间吗?

你可以尝试

 getActionBar().setDisplayShowHomeEnabled(false);

但你有ActionBar.DISPLAY_SHOW_HOMEActionBar.DISPLAY_HOME_AS_UP旗帜,也许它们对你很重要......

您也可以尝试设置透明图标

getActionBar().setIcon(new ColorDrawable(getResources().getColor(android.R.color.transparent)));