通常创建一个自定义的View,难点就是绘制控件和实现交互,这是评价一个自定义View优劣的标准之一。继承View类,通常必须要重写他的onDraw()方法、onMeasure()方法来实现绘制的逻辑,同时通过onTouchEvent()等触摸事件来实现交互逻辑。当然我们可以向现实那样实现组合控件的方式,通过引入自定义属性,丰富自定义View的可定制性。
好不看,是不实际,首先看效果。
首先分析,这是由一个圆形,一个弧形,文字构成的自定义View,简称比例图。直接上代码吧,很简单,代码也是比较完整的。
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.RectF;
import android.view.View;
public class CurrentView extends View {
private int mCircleXY;
private float mRadius;
private Paint mPaint ,mArcPaint,mTextPaint;
private RectF mArcRectF;
private float mSeepAngle;
private String mShowText;
private int mTextSize = 60;