1

我似乎无法使用 ABS 或标准 ActionBar 获得动作按钮的主题。尽管selectableItemBackground在我的主题中使用,它仍然使用蓝色突出显示而不是请求的红色突出显示。但是,SearchView 中的丢弃按钮似乎可以正常工作(参见附图)。

我确定我错过了一些简单的东西,有人知道吗?!

Pressed Action Buttons 使用此高亮显示: 显示错误的亮点

当他们应该使用这个时: 显示正确的突出显示

这是我正在使用的风格:

<style name="Theme.Styled" parent="Theme.Sherlock.Light.DarkActionBar">
    <item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
    <item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
    <item name="actionBarTabStyle">@style/MyActionBarTabStyle</item>
    <item name="android:actionBarTabStyle">@style/MyActionBarTabStyle</item>
    <item name="android:fastScrollThumbDrawable">@drawable/fastscroll</item>
    <item name="android:editTextStyle">@style/Widget.Styled.EditText</item>
    <item name="android:selectableItemBackground">@drawable/selectable_background</item>
</style>

更新

using<item name="android:actionBarItemBackground">@drawable/selectable_background</item>似乎有效,但这不是 Nick Butcher关于主题的文章所使用的。这是可以接受的/会破坏什么吗?

4

1 回答 1

6

那篇文章是为 Android 3.0 编写的,并且针对 Android 4.0 更改了属性,这就是您看到行为差异的原因。

使用actionBarItemBackground现在是更改操作项背景的正确方法。

如果您使用 ActionBarSherlock,请记住您需要android在主题中同时使用 -prefixed 和 non-prefixed 版本,以便它在所有 API 级别上工作。

于 2012-06-10T20:26:59.680 回答