【问题标题】:Change color of button with theme更改带有主题的按钮颜色
【发布时间】:2016-11-29 23:42:33
【问题描述】:

我无法更改应用中按钮的背景颜色和文本颜色。

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

<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 主题?...

【问题讨论】:

  • 创建另一个主题并使用它
  • 可能重复的问题,见this
  • @FarshidABZ 我按照链接上的说明做了,但随后父级似乎没有按应有的方式工作,因为通过更改按钮的背景也以某种方式改变了大小、粗体和其他内容。即使我像以前一样拥有 android:Theme.Light 作为父级。

标签: android android-theme


【解决方案1】:

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

【讨论】:

  • @VipinSahu 我已经编辑了代码。试试这个,让我知道它是否有帮助。
猜你喜欢
  • 2016-08-07
  • 2018-05-28
  • 1970-01-01
  • 2019-06-03
  • 1970-01-01
  • 2013-06-26
  • 2021-01-24
  • 1970-01-01
  • 2021-03-14
相关资源
最近更新 更多