1

在我的 ActionBar 上,“按下”状态下的“向上图标”和徽标显示一个鲜红色的边框(如我所愿)。但是它并没有通过图像的透明度显示出鲜红色,因此图像仍然显示 ActionBar 正常的背景颜色。图像是透明的并且在默认主题下工作。但是当使用 ActionBar Theme Generator 时,我无法让它工作。但是,右侧的操作按钮表现正常。

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

1 回答 1

0

我吹走了我的风格并产生了新鲜感。我认为我缺少的是当我将 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>
于 2013-10-11T21:14:06.780 回答