自定义view是为了实现特别的ui效果而创建的,编写自定义view对于绘制效果的有比较大的自由,但是自定义view应该是在合理利用已有资源的基础上,对于完全无法利用已有资源的情况下,再进行创意;大多数情况,我们只是想对已经存在的ui效果或者机制进行改良,以便更适合我们的app.这个时候,重用系统已经定义了的字段和参数,不仅有利于避免重复工作,也便于让调用者更容易理解这个属性字段的意义,因为他们更熟悉系统已经有的属性。
为了利用起来系统定义了的属性,我们需要在自定义view的构造函数里面获取系统属性。
获取属性的资源id
获取没有被隐藏的资源id
而系统属性的资源引用id往往无法通过“R.java”这个类来获取,因为R.java里面包含的是这个项目我们自己的资源id,而"android.R"这个类只暴露出来了一些参数性质的资源id,比如
图中是android.R的源码,可以看出来,这些属性对应了一个常量,这上面显示的所有常量,都可以是通过"R.android"来调用,比如“android.R.style.Animation”,“android.R.attr.actionBarStyle”。