0

我正在使用 sherlocklibrary 在我的应用程序中显示操作栏,它工作正常,但是当我为标题放置背景图像时,右侧会出现黑色区域​​(参见快照)。如何更改菜单按钮的背景颜色或至少填充父标题图像。我正在根据用户的选择在运行时更新这个图像。在此处输入图像描述 这是我的标题栏布局。

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/headerLinear"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    >


    <ImageView
        android:id="@+id/logo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
         />

    <TextView
        android:id="@+id/title"
        style="@style/titleStyle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_toLeftOf="@+id/logo"
        android:maxLength="30"
        android:ellipsize="end"
        android:text="@string/login_en" />

</RelativeLayout>

我把这段代码放在我的活动中:

            BitmapDrawable bg = (BitmapDrawable)  getResources().getDrawable(R.drawable.bg_striped_split);

    getSupportActionBar().setBackgroundDrawable(bg);

    LayoutInflater inflater = LayoutInflater.from(this);
    View customView = inflater.inflate(R.layout.title_bar, null);

    RelativeLayout header = (RelativeLayout) customView.findViewById(R.id.headerLinear);



    header.setBackgroundDrawable(R.drawable.header);  
4

1 回答 1

0

我试过了,它从右侧删除了黑色区域的外观..在这里查看完整的代码

        getSupportActionBar().setDisplayShowHomeEnabled(false);
        getSupportActionBar().setDisplayShowTitleEnabled(false);
        // ActionBar actionBar = getSupportActionBar();
        getSupportActionBar().setCustomView(R.layout.actionbar_top); // load
                                                                        // your
                                                                        // layout
        getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);

图片

在此处输入图像描述

于 2013-04-30T09:56:08.373 回答