在KitKat上使用Android L材质设计
阅读Android L Developer Preview()的兼容性部分,我发现我可以使用L-sdk创建一个应用程序,也可以在旧的sdk(如KitKat)上运行它 我已经使用Android L sdk创建了一个新项目,并配置了“build.gradle”,如本文所述: 我尝试了两种配置:在KitKat上使用Android L材质设计,android,gradle,android-studio,android-5.0-lollipop,Android,Gradle,Android Studio,Android 5.0 Lollipop,阅读Android L Developer Preview()的兼容性部分,我发现我可以使用L-sdk创建一个应用程序,也可以在旧的sdk(如KitKat)上运行它 我已经使用Android L sdk创建了一个新项目,并配置了“build.gradle”,如本文所述: 我尝试了两种配置: 有问题的提议给了我这个错误: pkg:/data/local/tmp/com.example.{my user name}.materialapp 失败[安装\u失败\u旧的\u SDK] 答案中的那个给了
- 有问题的提议给了我这个错误:
pkg:/data/local/tmp/com.example.{my user name}.materialapp 失败[安装\u失败\u旧的\u SDK]
- 答案中的那个给了我错误的答案
“兼容性”只是一个预览,未启用。您必须创建两个不同的styles.xml文件,并使用相同的名称将其放入不同的文件夹中 第一个,将在这里:
res/styles.xml
res/values-v21/styles.xml
并且不会参考材料主题(使用全息主题):
所以我会有这样的想法:
<style name="AppTheme" parent="android:Theme.Holo.Light"></style>
将包含对新材料主题的引用,并将具有:
<style name="AppTheme" parent="android:Theme.Material.Light"></style>
Android框架将根据设备支持的API自动使用正确的API(因此,在API 21设备上,它将使用材质,在所有其他设备上,它将使用您定义的任何其他内容)。自最初的答案以来,这一点已经改变,因为谷歌在AppCompat库中发布了更好的材质设计支持(主要支持所有版本的Android) 此时,您应该将这些库用于所有开发,然后您将能够在所有应用程序中支持与材质设计相关的功能
以下是设置方法:我已经有了两种不同的样式。xml:一种是values,另一种是values-v21。但是如果我尝试在我的Nexus 5(4.4.4)上部署应用程序,它会在android上崩溃:Theme.Material.light。它们都命名为“AppTheme”吗?没有拼写错误或不同的父项?没有拼写错误。父项相同。我刚刚尝试使用“build.gradle”与本文Vova.K评论中的内容类似,但它在
android:Theme.Material.Light
上给出了错误,表示错误:检索项目的父级时出错:未找到与给定名称“android:Theme.Material.Light”匹配的资源。可能您没有链接正确的支持库?您需要确保具有预览版本(L).我敢打赌就是这样(如果我没记错的话,你还需要以某种方式选择加入预览组)。