Android - 如何在单击时更改所有按钮的颜色

时间:2014-04-22 12:58:12

标签: android android-theme

我想知道的是,如果有办法在整个活动中更改任何点击颜色。

我在下一个活动中设置了最男人 -

                <activity android:name="com.example.test.MainActivity" 
                android:theme="@style/Theme.Base.AppCompat.Light.DarkActionBar" 
                 android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" >
            </action>

            <category android:name="android.intent.category.NORMAL" >
            </category>
        </intent-filter>
    </activity>

正如您所看到的,我正在使用活动的下一个主题 -

  android:theme="@style/Theme.Base.AppCompat.Light.DarkActionBar" 

这会使任何点击颜色变为蓝色 - 意味着当按下按钮或其他任何内容时,它会在点击时变为蓝色。

现在我想知道的是有什么方法可以将蓝色变成不同的颜色,现在通过改变我将要使用的每个视图项目的背景。

感谢您提供任何帮助

1 个答案:

答案 0 :(得分:3)

文件名:/res/drawable/button_color.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false" android:drawable="@color/color1"/>
<item android:state_focused="true" android:drawable="@color/color1"/>
<item android:state_pressed="true" android:drawable="@color/color1"/>
<item android:drawable="@color/color1"/> 

将此文件转换为按钮样式,如下所示:

在资源值文件夹中创建新样式,如下例所示,并更改您的应用程序属性android:theme="@style/CustomActionBarTheme"

 <!-- the theme applied to the application or activity -->
<style name="CustomActionBarTheme" parent="@style/Theme.Base.AppCompat.Light.DarkActionBar>

    <item name="android:buttonStyle">@style/srp_button</item>

</style>
<style name="srp_button" parent="@android:style/Widget.Button">
<itemname="android:background">@drawable/button_color</item> <!-- Here isspecifiedtext color -->
</style>