android布局xml文件中"?android:attr /"和"?attr /"有什么区别?

zzh*_*838 14 xml android android-layout

android布局xml文件?android:attr/和之间的区别是什么?attr/?我们应该在不同的情况下使用哪一个?

Use*_*191 14

1.?attr /

定义并引用您在应用程序中自己定义的属性的值.

2.?android:attr /

指的是android内置中已有的属性值.更具体地说,?意味着额外的间接水平.可以将其视为取消引用属性以获取它指向的资源,而不是引用属性本身.

有关详细信息,请参阅链接

  • https://developer.android.com/guide/topics/resources/providing-resources#ReferencesToThemeAttributes “因为系统资源工具知道在此上下文中需要属性资源,所以您不需要显式声明类型(这将是 ?android:attr/textColorSecondary)—您可以排除 attr 类型。” (4认同)
  • 而且您是否偶然知道`?android:attr /`和`?android:`有什么区别?例如,有颜色`?android:attr / textColorPrimary`和`?android:textColorPrimary`。两者似乎都以相同的方式工作,但是我没有深入研究主题和代码来检查差异。关于这些的官方文档似乎很少。 (2认同)