呃,什么是旋转小按钮?上图:
自定义这个View的原因是我需要一个能点击一下就能旋转显示正在刷新的小按钮,等刷新结束后在使它停止旋转并恢复到初始状态,并且这个View的字体大小,字体颜色,进度条的颜色等都可以自由配置。
自定义View包含以下几步:
1、自定义View的属性
2、在XML布局文件中使用自定义属性
2、在View的构造方法中获得我们配置的属性
3、重写onMesure
4、重写onDraw
自定义属性
1、自定义View的属性,首先在res/values/ 下建立一个attrs.xml ,并在其中添加需要的属性,本例如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="RefreshView">
<attr name="textSize" format="dimension"></attr>
<attr name="textColor" format="color"></attr>
<attr name="text" format="string"></attr>
<attr name="processColor" format="color"></attr>
<attr name="processWidth" format="dimension"></attr>
</declare-styleable>
</resources>
declare-stylable标签只是为了给自定义属性分类。一个项目中可能又多个自定义控件,但只能又一个attr.xml文件,因此我们需要对不同自定义控件中的自定义属性进行分类,这也是为什么declare-stylable标签中的name属性往往定义成自定义控件的名称(引用来自【Android - 自定义View】之自定义View浅析);
在XML布局文件中使用自定义属性
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res