有时候,我们需要使用我们自己定义的属性,这里我们就需要自定义的res喽,这里我们将它与我们之前图形绘制的例子相结合,在自定义的view中使用我们自定义的属性。
马上让我们来看一下怎么操作吧。
这里我们结合一个例子来理解:
第1步:先在values中创建一个xml文件:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="myview" >
<attr name="myview_background" format="reference"></attr>
<attr name="myview_paintwidth" format="dimension|reference"></attr>
</declare-styleable>
</resources>
declare-styleable:定义了总的名称
attr:定义了不同的属性。注意不要和android本身的属性重复了,最好起一个见名知意自己的名称。
属性中的format用来指定属性可以填入的值的类型:reference表示可以从resource中获得。
第2步:在布局中调用时:
1)先像android那样,添加xmlns:(studio中像下面这样写就ok,但eclipse中apk后面要写包名全称)
2)使用:冒号前面的名称就是上面xmlns中定义的名称,
第3步:在自定义控件代码中使用。
1.由于要使用xml布局中的属性,所以必须在有attrs的构造器中操作。
2.这是获得styable中名字是myview的所有的属性存到一个数组中
3.这是在数组中获得图片资源,由于下面设置的bitmap类型,所以这里直接转型
4.getBitmap方法获得位图
5.获得dimen类型
这样就可以在自定义的view中使用自定义的属性,是不是很牛的样子。^^