在材质设计中设置名称属性



我有一个简单的问题,但是我真的不明白。当我们在material design下设置新样式时,我们使用父样式,如下所示:

<style name="AppTheme.Base" parent="Base.Theme.AppCompat.Light">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

然而,在一些教程中,我看到他们在属性中插入引用"android:",例如:

<item name="android:colorPrimaryDark">@color/colorPrimaryDark</item>

我知道后者应该用于引用android中的每个属性,但我不明白为什么在这种情况下它有时被省略,有时没有。

如果您正在使用Android V7支持库,则省略。在本例中,您使用主题之一。AppCompat主题,而不是Android主题。查看维护兼容性

这取决于他们想要的兼容性:

  • 使用android:前缀,它们指的是平台属性,也就是说,它只对存在该属性的设备有效(例如API14+, API21+等)

  • 使用没有android:前缀,他们指的是一个Appcompat库的属性链接到应用项目,也就是说,它将有效的所有设备与API 7+

相关内容

  • 没有找到相关文章

最新更新