用主题改变按钮的颜色

时间:2016-07-26 10:55:00

标签: android android-theme

我在应用程序中更改按钮的背景颜色和文本颜色时遇到了麻烦。

我制作了一个新的主题,并尝试一下。 我的清单看起来像这样:

<application
    ...
    android:theme="@style/OrangeWhite">
    <activity android:name=".MainActivity">
    ...
</application>

我的theme.xml看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <style name="OrangeWhite" parent="android:Theme.Light">
        <item name="android:windowBackground">@color/OrangeWhite_bg_color</item>
        <item name="android:textColor">@color/OrangeWhite_wh_text</item>
        <item name="android:colorButtonNormal">@color/OrangeWhite_bg_btn</item>
    </style>

</resources>

更改活动的文本或背景颜色可以正常工作。问题是按钮。我是否需要在每个按钮上指定使用主题OrangeWhite?...

1 个答案:

答案 0 :(得分:2)

如果您使用AppCompat主题作为父级,请尝试使用以下代码

如果需要更改特定按钮的样式,可以定义新样式,继承上述父样式之一。在下面的示例中,我只更改了背景和字体颜色:

<style name="AppTheme.Button" parent="Widget.AppCompat.Button.Colored">
<item name="colorButtonNormal">@color/Red</item>
<item name="android:colorButtonNormal">@color/Red</item>
<item name="android:textColor">@color/White</item>
</style>

然后你只需要在按钮上应用这个新样式:

android:theme="@style/AppTheme.Button"
相关问题