美文网首页
Android中资源引用的几种方式

Android中资源引用的几种方式

作者: 卖梦想的男孩 | 来源:发表于2016-12-14 11:31 被阅读127次

最近项目中有个队友抱怨运行总是莫名的报错,崩溃,说是半路出家也好,说是懒于学习也好,反正就那回事,都懂得,应该好多人都遇见过类似的队友,不管怎样,一个团队,木桶效应还是得注意的,这里简单说下Android中资源的引用的集中方式和常见问题

  1. @常规资源引用
    @[namespace:]type/name
    项目资源命名空间可以省略不写
 android:src="@drawable/img_sample_preview"
 android:textColor="@android:color/black"
  1. @+ 创建资源
    @+type/name,常见于id
android:id="@+id/btn_start"

@+id和@id的区别是一个是创建资源,一个是使用资源,在老的编译器中,同一个页面不同的view可以多次使用@+id,编译器会检测id是否存在,类似html中的id,但是在新的编译器中已经拒绝了这种做法,毕竟同一个id本身就是用来标识一个view,多个也就没有意义了,但是@id是可以重复使用的,只要id存在,不管是项目定义的还是系统的都能拿来用,但是要合理使用,避免出现多个view引用同一个id。(队友问题就是习惯性拷贝代码,只看效果,不做检查的,除非编译器直接报错的那种才会手动修改....)

  1. @*特殊资源引用
  • 系统公开的资源 @android:type/name
  • 系统非公开的资源 @*android:type/name
    [注]系统非公开资源使用编译器会报红,但运行不会报错,这是google不推荐的引用方式,但是特殊情况下还是可以使用的,毕竟一个东西的好坏,也要看存在的场景。
  1. ?主题资源引用
    ?[namespace:]type/name,项目中的定义的主题namespace可以不写,有段时间自定义主题比较火,好多人就是利用了这个来实现的。
 android:textColor="?attr/contentTextColor" 

相关文章

网友评论

      本文标题:Android中资源引用的几种方式

      本文链接:https://www.haomeiwen.com/subject/rydimttx.html