1、添加自定义View的属性文件
定义名为myViewDefinedAttr的属性列表,这个name命名也可以用下划线形式。name会在下面第二步中使用。 <attr name="attr1" format="boolean"/> |
2、自定义View中获取属性值
从上面可以看出,主要是通过context.obtainStyledAttributes得到属性及其值的对应列表。 ta.getBoolean(R.styleable.myViewDefinedAttr_attr1, true);表示得到属性名为attr1的boolean值,若不存在该属性,则默认为true。这里的R.styleable.myViewDefinedAttr_attr1为第一步中的属性列表名_属性名。
|
3、调用自定义View
调用的主体为<com.trinea.android.common.view.MyView ……/>中内容,需要注意的是跟上面代码类似在外面的布局文件中加入自己的命名空间再通过命名空间调用属性,即 xmlns:myViewXmlns="http://schemas.android.com/apk/res /com.trinea.mypackage",其中myViewXmlns为空间名可自取,值为http://schemas.android.com /apk/res/加当前应用的包名,即AndroidManifest.xml中manifest节点的package值,如下 |
4、自定义属性的类型
调用如 xx:attr1="horizontal" (10) flag表示位或运算,定义为
|