具有特定Android版本的Android项目中的默认样式

时间:2016-10-07 00:50:58

标签: android android-studio android-sdk-tools

我希望适应具有特定样式规格的旧版Android(例如17到20)。所以我做了这些:

  • values / styles.xml(我认为应该是默认值)
  • 值-V17 / styles.xml
  • 值-V18 / styles.xml
  • 值-V19 / styles.xml
  • 值-V20 / styles.xml

在我的values/styles.xml文件中,我保留了版本21+的默认值。但是,在预览和虚拟设备中实际应用的样式是v20,用于显示版本21及更高版本。如果我擦除values-v20/styles.xml那么它就是接下来的那一行,即第19行。为什么默认样式不会占用?

简单示例:

值-V20 / styles.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="Button.AccentButton" parent="Theme.AppCompat">
        <item name="android:textColor">@android:color/white</item>
        <item name="android:background">@color/red</item>
    </style>
</resources>

值/ styles.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="Button.AccentButton" parent="Theme.AppCompat">
        <item name="android:textColor">@android:color/white</item>
        <item name="android:background">@color/green</item>
    </style>
</resources>

最终结果:v21 +按钮显示红色,应为绿色。

1 个答案:

答案 0 :(得分:0)

反之亦然!

  • values / styles.xml(低于指定最低值的所有版本的默认值)
  • values-v21 / styles.xml(v21 +的值)

换句话说,第一个版本化文件夹也适用于以下所有版本。未版本化的文件夹适用于最低版本化文件夹下的版本。