我们先把所需要到属性定义好,在res/values/目录下新建xml文件attrs.xml,此文件定义了所有需要到属性,为了说明这个过程就定义了一个attr_title属性。如下所示
attrs.xml
其中:format属性可以用的值包括以下内容
reference:参考某一资源ID
color:颜色值
boolean:布尔值
dimension:尺寸值
float:浮点值
integer:整型值
string:字符串
fraction:百分数
enum:枚举值
flag:位或运算
以上内容可以单独使用,也可以组合使用,比如reference|color,中间用”|”隔开
属性定义好了,下面就看怎么使用了,如下所示
其中有两点需要注意,
1>xmlns:cview =”http://schemas.android.com/apk/res/com.example.testcview”,需要声明自己的命名空间,前面的部分为http://schemas.android.com/apk/res/,此部分为固定,后一部分为自己的应用的包名com.example.testcview
2>在自定义控件上设置自定义属性,cview:attr_title =”自定义题头”,需要增加自己的命名控件,
这样自定义属性就应用到自定义控件上了。
Java代码获取及设置属性内容
在自定义控件的构造函数中获取设置的值并设置到相应位置,如下所示
其中,通过TypedArray tArray =context.obtainStyledAttributes(attrs, R.styleable.CombinView);这句来获取自定义属性内容,然后通过
String title =tArray.getString(R.styleable.CombinView_attr_title);获取指定属性的值
这样,我们就把自定义属性的值取下来了,具体怎么使用就看具体需求就可以了
通过这篇和前两篇的文章,自定义控件的大体流程就差不多了,差的只是在这个架子上増枝添叶,其原理是一样的。
Original: https://www.cnblogs.com/luoaz/p/3985039.html
Author: 小爱博客
Title: 自定义视图(自定义属性)
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/580258/
转载文章受原作者版权保护。转载请注明原作者出处!