android - 根据主题更改按钮的颜色

标签 android android-theme

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

我制作了一个新主题来尝试一下。 我的 list 如下所示:

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

更改 Activity 的文本或背景颜色效果很好。问题出在按钮上。我是否需要在每个按钮上指定才能使用主题 OrangeWhite?...

最佳答案

如果您使用 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"

关于android - 根据主题更改按钮的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38587950/

相关文章:

android - Android 的 Spring : add get parameter to every request

android - 主题对话框首选项

android - INSTALL_NON_MARKET_APPS 替代方案?

Android:设置应用内结算以打开新的 Activity 类

java - 如何让我的复选框动画在启动其 Onclick 方法之前完成

java - 如何在java中设置android应用程序主题,

android - java.lang.NoClassDefFoundError : android. 支持.v7.appcompat.R$styleable

android - Android 4.0 上 Holo 主题的默认颜色值是多少?

android - 恢复时工具栏的主色是透明的

android - 在 Action Bar Android (3.0+) 中显示/隐藏项目