阅读 Android L Developer Preview (http://developer.android.com/preview/material/compatibility.html) 的兼容性部分,我发现我可以使用 L-sdk 创建一个 APP,也可以在旧的 sdk(如 KitKat)上运行它。
我使用 Android L sdk 创建了一个新项目并配置了“build.gradle”,如本文所述:Android Studio : Failure [INSTALL_FAILED_OLDER_SDK] .
两种配置我都试过了:
有问题的建议给我这个错误:
pkg: /data/local/tmp/com.example.{my user name}.materialapp Failure [INSTALL_FAILED_OLDER_SDK]
以及在回答中提出的一个在
上给我错误的答案<style name="AppTheme" parent="android:Theme.Material.Light"></style>
我在 StackOverflow 上搜索了其他问题,但找不到任何解决方案。
解决方案: Android L preview Material 样式只能在运行 Android L 的设备上使用。 “兼容性”只是一个预览,并没有启用。
最佳答案
您必须创建 2 个不同的 style.xml 文件,名称相同,然后放在不同的文件夹中。
第一个,会到这里:
res/styles.xml
并且看起来没有对 Material 主题的引用(使用 Holo 主题):
所以会有这样的事情:
<style name="AppTheme" parent="android:Theme.Holo.Light"></style>
第二个会在这里:
res/values-v21/styles.xml
并且将包含对新 Material 主题的引用,并且会:
<style name="AppTheme" parent="android:Theme.Material.Light"></style>
Android 框架将根据设备支持的 API 自动使用正确的框架(因此在 API 21 设备上它将使用 Material,而在所有其他设备上,它将使用您定义的任何其他内容)。
关于android - 在 KitKat 上使用 Android L Material Design,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24633162/