android - 选择时更改操作背景颜色(ActionBarSherlock)

标签 android background actionbarsherlock

我想在按下时更改操作背景图标的颜色。

我尝试了以下但没有结果:

styles.xml

<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> -->
</style>

<style name="Widget.Styled.ActionBar" parent="Widget.Sherlock.Light.ActionBar.Solid.Inverse">
    <item name="actionBarItemBackground">@drawable/action_item_background</item>
    <item name="selectableItemBackground">@drawable/action_item_background</item>
</style> 

action_item_background.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <solid android:color="#FF0000"/>

</shape>

我怎样才能做到这一点?

最佳答案

我找到的解决方案是:

action_item_background.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <solid android:color="#FF0000"/>

</shape>

action_item_background_selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
        android:exitFadeDuration="@android:integer/config_shortAnimTime" >

    <item 
        android:state_pressed="true" 
        android:drawable="@drawable/action_item_background" />
    <item 
        android:drawable="@android:color/transparent" />

</selector>

styles.xml

 <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="actionBarItemBackground">@drawable/action_item_background_selector</item>
            <item name="android:actionBarItemBackground">@drawable/action_item_background_selector</item>
        </style>

        <style name="Widget.Styled.ActionBar" parent="Widget.Sherlock.Light.ActionBar.Solid.Inverse">
        //...
    </style>

关于android - 选择时更改操作背景颜色(ActionBarSherlock),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17263059/

相关文章:

html - 更改 Bootstrap 进度条背景(不是进度条,而是进度条背景)

android - ListView 滚动时复选框自动调用onCheckedChange?

android - 在不改变方向的情况下旋转 Android 显示器

html - 当页面太短时,div 中的背景图像在顶部和底部被截断

android - Action 模式完成按钮

Android:ShareActionProvider 的自定义 XML

android - 不再需要actionbarsherlock吗?

android - android string.xml 是否支持任何其他形式的 xml?

android - 依赖项有什么问题?我正在使用 androidX

perl - 如何并行运行 perl 脚本并捕获文件中的输出?