Android 更改棒棒糖操作栏的操作栏项目的按下颜色
我正在使用AppCompat,并成功地实现了与棒棒糖一起推出的新动作栏。唯一的问题是动作项的背景颜色。我想在按下时为动作项显示不同的背景色。你知道怎么做吗?你有几个选择。但首先,一些背景: AppCompat中的操作项使用主题属性?attr/actionBarItemBackground(请参阅res/values/styles\u base.xml),默认情况下,该属性设置为?attr/selectableItemBackgroundless(请参阅res/styles/themes\u base.xml)。此属性在L上设置为无边界波纹,在以前的版本上设置为@drawable/abc\u item\u background\u holo\u light 动作栏本身通过设置?attr/actionBarTheme(themes_base.xml)设置主题,默认情况下设置为@style/ThemeOverlay.AppCompat.ActionBar。在Holo上,此主题覆盖actionBarItemBackground,因此您需要在此处进行更改 因此,覆盖所有动作栏的动作项背景的简单方法是在actionBarTheme中设置actionBarItemBackground。您可能还希望覆盖selectableItemBackground,因为CloseMode项不使用actionBarItemBackground(不知道为什么) values/styles.xml:Android 更改棒棒糖操作栏的操作栏项目的按下颜色,android,android-actionbar,android-5.0-lollipop,android-appcompat,Android,Android Actionbar,Android 5.0 Lollipop,Android Appcompat,我正在使用AppCompat,并成功地实现了与棒棒糖一起推出的新动作栏。唯一的问题是动作项的背景颜色。我想在按下时为动作项显示不同的背景色。你知道怎么做吗?你有几个选择。但首先,一些背景: AppCompat中的操作项使用主题属性?attr/actionBarItemBackground(请参阅res/values/styles\u base.xml),默认情况下,该属性设置为?attr/selectableItemBackgroundless(请参阅res/styles/themes\u ba
<style name="MyAppTheme" parent="Theme.AppCompat">
...
<item name="actionBarTheme">@style/MyActionBarTheme</item>
</style>
<style name="MyActionBarTheme" parent="ThemeOverlay.AppCompat.ActionBar">
...
<item name="actionBarItemBackground">@drawable/whatever_you_want</item>
<item name="selectableItemBackground">@drawable/whatever_you_want</item>
</style>
...
@风格/动作风格
...
@可拉拔/任何您想要的
@可拉拔/任何您想要的
注意:这些更改适用于所有API级别,因此,如果您仍然希望API 21+上出现涟漪,那么您将需要@drawable/whatever的drawable和drawable-v21版本,后者包含涟漪。对于我来说,这是有效的:
<!-- pre 21 -->
<item name="actionBarItemBackground">@drawable/selector_ab_tab_indicator</item>
<!-- post 21 -->
<item name="android:selectableItemBackgroundBorderless">@drawable/selector_ab_tab_indicator</item>
@可牵引/选择器选项卡指示器
@可牵引/选择器选项卡指示器
@alanv如何使用支持工具栏执行此操作?当我扩展Widget.AppCompat.Toolbar时,actionBarItemBackground和selectableItemBackground似乎不起作用。@alanv Neve mind;我找到了原因:我使用了一个自定义的动作项。