当我按下它们时,我无法找到更改ActionBar项目上的叠加颜色的方法。我有minsdk = 11,我不能使用
<item name="android:actionBarItemBackground">@drawable/selectable_background_</item>
因为它仅适用于API 14。
我创建了一个带有style.xml文件的values-v14文件夹,而对于设备&gt; = v.14则以这种方式工作:
没有按下: 按:
但是,如何对版本&gt; = 11执行相同的操作? 14?
这是我的style.xml文件:
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">
</style>
<!-- ActionBar styles -->
<style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="android:background">@color/brand_color</item>
</style>
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:actionBarStyle">@style/MyActionBar</item>
</style>
</resources>
在这个文件中,我很容易改变了ActionBar的背景颜色,但我无法弄清楚如何更改按下的项目上的叠加颜色。有人能帮助我吗?
答案 0 :(得分:0)
以下是更改按下项目颜色的方法。将两个actionButtonStyle
项添加到您的样式中,它应该适用于所有版本(使用app compat)。只需将@drawable/selector
替换为您自己的drawable for action按钮。
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:selectableItemBackground">@drawable/selector</item>
<item name="selectableItemBackground">@drawable/selector</item>
</style>
示例@drawable/selector
:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed="true"
android:drawable="#ddffffff" />
<item
android:drawable="@android:color/transparent" />
</selector>