安卓 - 如何使按下"up icon"颜色的操作栏通过 png 显示?



在我的操作栏上,"按下"状态下的"向上图标"和徽标显示一个鲜红色的边框(如我所愿(。 但它不会通过图像的透明度显示鲜红色,因此图像仍显示 ActionBar 的正常背景色。 图像是透明的,可以在默认主题中工作。 但是在使用动作栏主题生成器时,我无法让它工作。 但是,右侧的"操作"按钮行为正常。

可以通过使按下状态透明来使浅红色完全消失,所以我认为我正在设置图像下方的项目样式,而不是图像(或其直接容器? 我没有使用夏洛克。 我的目标是最小 sdk 16。

我的主题 xml:

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

我red_selectable_background.xml:

<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="@android:color/transparent" />
    <item android:state_pressed="true" android:drawable="@drawable/red_pressed_background" />
    <item android:drawable="@android:color/transparent" />
</selector>

我red_pressed_background.xml:

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
    <solid android:color="@color/blood_red" />
</shape>

我的颜色:

<color name="blood_red">#a00f0f</color>

我吹掉了我的风格并产生了新鲜感。 我认为我缺少的是当我将 ActionBar 主题与 Holo 主题(两者都生成(合并时,我没有正确合并生成的顶级 ActionBar 主题。 现在我不需要我以前写的任何自定义内容。

基本上,我只需要将以下项目合并到继承自android:Theme.Holo的主题中:

<item name="android:actionBarItemBackground">@drawable/selectable_background_xxx</item>
<item name="android:popupMenuStyle">@style/PopupMenu.xxx</item>
<item name="android:dropDownListViewStyle">@style/DropDownListView.xxx</item>
<item name="android:actionBarTabStyle">@style/ActionBarTabStyle.xxx</item>
<item name="android:actionDropDownStyle">@style/DropDownNav.xxx</item>
<item name="android:actionBarStyle">@style/ActionBar.Transparent.xxx</item>
<item name="android:actionModeBackground">@drawable/cab_background_top_xxx</item>
<item name="android:actionModeSplitBackground">@drawable/cab_background_bottom_xxx</item>
<item name="android:actionModeCloseButtonStyle">@style/ActionButton.CloseMode.xxx</item>

最新更新