@color/black 与@android:color/black

@color/black vs @android:color/black

正如标题所暗示的,我注意到黑色有两种选择,这让我想知道@color/black和@android之间有什么区别吗:color/black当样式文本等?这两者分开存在有什么原因吗?

@android:color/black - 这引用了 Android 框架 built-in 值,该值未更改并指向 #000000 颜色。在 Android 之前,人们不会在某些 OS 版本中为我们开玩笑,它是安全可靠的参考,从一开始就在 API

@color/black - 这指向您在应用中声明的自定义引用。实际上,您可以在其中添加任何颜色,因此可以快速 re-styling 整个应用程序。 (顺便说一句。最好使用 location-naming 例如 list_separatorfragment_background_default 来保持这种可能性)或者您可以在 colors.xml (最常见)中删除此入口,然后在 @color/black 变为“无法解决”(应用程序无法构建)

据我所知,使用@android下的资源:是那些默认集成在安装应用程序的android版本中的资源,因此如果值在较新的版本中更改,则可以更改android 个版本。

如果您使用普通的@color/,您将引用您的 color.xml 文件,并且无论 android 版本有任何变化,这将始终是您指定的颜色。