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

问题描述 投票:0回答:2

我有一个简单的问题,但我真的不明白。在材质设计下设置新样式时,将使用父样式,如下所示:

<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 styles themes android-appcompat
2个回答
0
投票

如果使用Android V7 Support Library,则省略。在这种情况下,您可以使用Theme.AppCompat主题之一,而不是Android主题。看看Maintaining Compatibility


0
投票

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

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

  • [不带android:前缀使用,它们指的是与应用程序项目链接的Appcompat库的属性,也就是说,它将在具有API 7+的所有设备上有效”]] >>

© www.soinside.com 2019 - 2024. All rights reserved.