黑色区域显示在自定义操作栏的左侧

时间:2014-12-28 23:58:03

标签: android android-actionbar android-actionbar-compat

我在这里找到答案: Android Lollipop, AppCompat ActionBar custom view doesn't take up whole screen width

我正在使用Theme.AppCompat.Light.DarkActionBar并在操作栏中设置自定义布局,但黑色区域显示在操作栏的左侧。

enter image description here

这是自定义布局的代码。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/color_red" >

<ImageView
    android:id="@+id/actionbarBack_backButton"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:layout_alignParentLeft="true"
    android:layout_centerVertical="true"
    android:background="@drawable/back_transparent_white"
    android:padding="10dp"
    android:src="@drawable/icon_back_white" />

<TextView
    android:id="@+id/actionbarBack_title"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_centerInParent="true"
    android:layout_marginLeft="5dp"
    android:ellipsize="end"
    android:gravity="center"
    android:singleLine="true"
    android:text="Some text"
    android:textColor="@android:color/white"
    android:textSize="18sp" />

<View
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"
    android:padding="10dp" />

 </RelativeLayout>

这是我在活动中使用的代码:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    ActionBar actionBar = getSupportActionBar();
    actionBar.setCustomView(R.layout.actionbar_back_title);
    actionBar.setDisplayShowCustomEnabled(true);

    return super.onCreateOptionsMenu(menu);
}

在onStart:

@Override 
public void onStart(){
    super.onStart();

    ActionBar actionbar = getSupportActionBar();
    actionbar.setDisplayHomeAsUpEnabled(false);
    actionbar.setDisplayShowHomeEnabled(false);
    actionbar.setHomeButtonEnabled(false);
}

谁能告诉我这是什么问题?

1 个答案:

答案 0 :(得分:0)

试试这个

    actionbar.setDisplayShowHomeEnabled(false);

    actionbar.setDisplayShowTitleEnabled(false);