Android按版本应用主题

时间:2016-09-07 12:17:54

标签: android android-studio material-design android-theme android-styles

我正在开发一个以listview开头的应用程序。 我在为应用程序设置主题时遇到了麻烦。 材料设计可应用于Android 5.0及更高版本。所以我创建了一个values-21文件夹并创建styles.xml,如下所示:

<resources>
  <!-- Inherit from the light Material Theme -->
  <style name="MyCustomTheme" parent="android:Theme.Material.Light">
    <item name="android:colorPrimary">@color/My_LightBlue</item>
  </style>
</resources>

在Android 5.0以下版本中,此主题未应用,因为它未读取values-21文件夹。 我还要在值标准文件夹中创建styles.xml吗? 必须创建一个新主题来改变应用栏的颜色(这是我的目标)。

我有点困惑...... 谢谢

1 个答案:

答案 0 :(得分:1)

来自https://developer.android.com/training/material/compatibility.html

  

您可以将应用配置为在设备上使用素材主题   支持它并恢复到之前运行的设备上的旧主题   Android版本:

     
      
  1. 定义一个继承自旧主题(如Holo)的主题   RES /值/ styles.xml。
  2.   
  3. 定义一个与材料相同的名称的主题   res / values-v21 / styles.xml中的主题。
  4.   
  5. 将此主题设置为清单文件中的应用主题。
  6.   

如果您根据材料设计指南设计的布局不使用 Android 5.0(API级别21)中引入的任何新XML属性,则它们将适用于以前版本的Android。否则,您可以提供替代布局。您还可以提供其他布局来自定义您的应用在早期版本的Android上的外观。

res/layout/内为Android 5.0(API级别21)创建布局文件,在res/layout/my_activity.xml内为早期版本的Android创建替代布局文件。例如,session_start()是res / layout-v21 / my_activity.xml的替代布局。

检查this answerblog