自定义View学习总结(二)

在我们的自定义学习总结的第一篇,介绍了自定义控件的基本流程,几个核心方法和核心api,这篇主要介绍给自定义控件增加属性,就像系统控件TextView有自己的属性textSize,text一样,我们自己自定义的控件也可以有自己的属性,这样就可以跟系统控件一样,在我们的xml里面能用自己定义的属性。
1.在values目录下新建attrs.xml文件


    
     
    


我们只定义了一个属性name,格式是string,format是值该属性的取值类型:
一共有:string,color,demension,integer,enum,reference,float,boolean,fraction,flag;

2.在activity_main.xml文件中定义名称空间和声明属性





请注意这句代码 xmlns:app="http://schemas.android.com/apk/res-auto",这个类似于系统控件里的android,如果改成xmlns:ws="http://schemas.android.com/apk/res-auto",那么下面的 app:item_title="我的设置1"就要对应改成 ws:item_title="我的设置1"
3.在构造函数初始化自定义控件的时候获取自定义属性

 // 读取自定的属性
   TypedArray ta = context.obtainStyledAttributes(set,
     R.styleable.SettingItemView);
   //获取自定义属性的值
   String title = ta.getString(R.styleable.SettingItemView_item_title);
   //获取完成后一定要做回收处理
   ta.recycle();

你可能感兴趣的:(自定义View学习总结(二))