重写View来实现全新的控件
在Android中重写View是Android中的难点,但很多特效都是基于自定义View来实现的,下面我们来尝试通过两个例子来学习一下自定义View。
首先看一下实例图![
圆形进度图
通过看图,整个图可以分为三部分,内部圆环,外部弧形,以及文字。
- 首先看一下我们定义的一些字段
/**
* 圆心坐标
*/
private int mCircleXY;
/**
* 内部圆半径
*/
private int mRadius;
/**
* 控件的宽度
*/
private int width;
/**
* 椭圆的文字
*/
private String mText;
/**
* 弧形的画笔
*/
private Paint mArcPaint;
/**
* 文字的画笔
*/
private Paint mTextPaint;
/**
* 内部圆的画笔
*/
private Paint mCirclePaint;
/**
* 弧形的内切矩形
*/
private Rect mArcRect;
/**
* 圆心文字
*/
private String mCenterText = "Alex_Mahao";
/**
* 文字所占大小
*/
private Rect mTextBound = new Rect();
/**
* 外部弧形的度数
*/
private int mSweepAngle;
/**
* 外部弧形的最终度数
*/
private int mEndAngle;
- 重写onMeasure()方法。
@Override
protected void onMea