菜鸟的安卓实习之路---自定义控件的属性

在使用的第三方控件下拉刷新的时候,发现有这几行代码:

 ptr:ptrAnimationStyle="flip"
        ptr:ptrHeaderBackground="#ffffff"
        ptr:ptrHeaderSubTextColor="#666666"
        ptr:ptrHeaderTextColor="#666666" 

开始也没搞清楚是怎么回事,

然后发现该控件源码value 文件夹下的attri.xml  文件加下定义了这一属性,

 

        
        

        
        

        
        

定义一个属性,需要制定他的属性名和他的参数格式

这里用一个toolbar 看下注意事项

让我们再来看看布局xml中需要注意的事项。

首先得声明一下:xmlns:toolbar=http://schemas.android.com/apk/res/cn.zzm.toolbar
注意,“toolbar”可以换成其他的任何名字,后面的url地址必须最后一部分必须用上自定义组件的包名。自定义属性了,在属性名前加上“toolbar”即可。

 

最后来看看java代码中的注意事项。

在自定义组件的构造函数中,用

TypedArray a = context.obtainStyledAttributes(attrs,R.styleable.ToolBar);

来获得对属性集的引用,然后就可以用“a”的各种方法来获取相应的属性值了。这里需要注意的是,如果使用的方法和获取值的类型不对的话,则会返回默认值。因此,如果一个属性是带两个及以上不用类型的属性,需要做多次判断,知道读取完毕后才能判断应该赋予何值。当然,在取完值的时候别忘了回收资源哦!

 


你可能感兴趣的:(android)