我有一个简单的问题,但我真的不明白。在材质设计下设置新样式时,将使用父样式,如下所示:
<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 Support Library,则省略。在这种情况下,您可以使用Theme.AppCompat主题之一,而不是Android主题。看看Maintaining Compatibility。
取决于他们想要的兼容性:
使用android:
前缀,它们指的是平台属性,即仅在存在该属性的设备上有效(例如API14 +,API21 +等)
[不带android:
前缀使用,它们指的是与应用程序项目链接的Appcompat库的属性,也就是说,它将在具有API 7+的所有设备上有效”]] >>