我正在开发一个以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
吗?
必须创建一个新主题来改变应用栏的颜色(这是我的目标)。
我有点困惑...... 谢谢
答案 0 :(得分:1)
来自https://developer.android.com/training/material/compatibility.html
您可以将应用配置为在设备上使用素材主题 支持它并恢复到之前运行的设备上的旧主题 Android版本:
- 定义一个继承自旧主题(如Holo)的主题 RES /值/ styles.xml。
- 定义一个与材料相同的名称的主题 res / values-v21 / styles.xml中的主题。
- 将此主题设置为清单文件中的应用主题。
醇>
如果您根据材料设计指南设计的布局不使用 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的替代布局。