如何在Styles.xml中从Theme设置Background和TextColor

时间:2015-12-15 14:33:15

标签: android xml android-background android-text-color

这似乎是一项非常基本的任务,但我似乎无法让它发挥作用。

我有几个活动都包含我想要的样式相同的按钮。我在styles.xml中定义了以下样式,并将它们作为主题应用于view.aml中的按钮。

styles.xml中的所有项目似乎都正确应用于每个按钮,android:textColorandroid:background除外,这些仍显示为默认的灰色渐变和黑色文本。这是正确的做法吗?我哪里错了?

styles.xml

<?xml version="1.0" encoding="utf-8" ?>
    <resources>
      <style name="button">
        <item name="android:paddingLeft">50px</item>
        <item name="android:paddingRight">50px</item>
        <item name="android:height">50px</item>
        <item name="android:minHeight">50px</item>
        <item name="android:maxHeight">50px</item>
        <item name="android:textAllCaps">true</item>
        <item name="android:textSize">30px</item>
        <item name="android:textStyle">bold</item>
        <item name="android:textColor">@android:color/background_light</item>
      </style>
      <style name="button.grey">
        <item name="android:background">@color/grey</item>
      </style>
      <style name="button.primary">
        <item name="android:background">@color/primary</item>
      </style>
    </resources>

colors.xml

<?xml version="1.0" encoding="utf-8" ?>
<resources>
  <item name="grey" type="color">#CCCCCC</item>
  <item name="primary" type="color">#40B837</item>
</resources>

view.axml

<Button
    android:text="Next"
    android:id="@+id/detailsNextBtn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:theme="@style/button.grey"/>

Android Manifest.xml

    <application android:label="myApp" android:theme="@android:style/Theme.Light.NoTitleBar"></application>

1 个答案:

答案 0 :(得分:0)

您可以尝试替换它:

<style name="button">

为此:

<style name="button" parent="android:Widget.Button">