2

android:actionBarItemBackground您可以使用该属性更改操作栏上菜单项的背景。

但是,这会导致 ActionMode 中菜单项的背景具有相同的颜色。有没有办法为普通 ActionBar 和 ActionMode 的菜单项设置不同的背景?

<item name="android:actionBarItemBackground">@drawable/selectable_background_mytheme</item>

selectable_background_mytheme

<selector xmlns:android="http://schemas.android.com/apk/res/android"
        android:exitFadeDuration="@android:integer/config_mediumAnimTime" >
    <item android:state_pressed="false" android:state_focused="true" android:drawable="@color/red" />
    <item android:state_pressed="true" android:drawable="@color/blue" />
    <item android:drawable="@android:color/transparent" />
</selector>
4

1 回答 1

0

您应该使用android:actionLayout,请参见此处:带有 actionLayout 的 Android 操作栏菜单项无法正常工作

其他一些注意事项:

您的文件"selectable_background_mytheme"应如下所示:

<?xml version="1.0" encoding="utf-8"?>
<inset xmlns:android="http://schemas.android.com/apk/res/android"
    android:insetBottom="0dp"
    android:insetLeft="-5dp"
    android:insetRight="-5dp"
    android:insetTop="-5dp" >

    <shape>
        <solid android:color="@color/stacked_green" />

        <stroke
            android:width="3dp"
            android:color="@color/accent_green" />
    </shape>
</inset>

即不是选择器

或者,您可以使用可绘制的位图。

于 2013-07-12T13:36:35.393 回答