1. 程式人生 > >Android 自定義View(二),點,線的繪製

Android 自定義View(二),點,線的繪製

public class PointLine extends View {

    Paint mLinePaint;
Paint mPointPaint;
    float width;
    float height;
    float pointAddress[] = new float[]{72, 200,  216, 200, 360, 200,  504, 200, 648, 200};
    float lineAddress[] = new float[]{72, 200, 216, 200, 216, 200, 360, 200, 360, 200, 504, 200, 504, 200, 648, 200};
    public 
PointLine(Context context) { this(context, null); } public PointLine(Context context, @Nullable AttributeSet attrs) { this(context, attrs, 0); } public PointLine(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); mLinePaint
= new Paint(); mLinePaint.setColor(Color.RED); mPointPaint = new Paint(); mPointPaint.setColor(Color.BLACK); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); width = getMeasuredWidth() / 5; height = getMeasuredHeight() / 2
; } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); //一定要設定線的的寬度 mPointPaint.setStrokeWidth((float) 20.0); //線寬 //點的陣列一定是2的整數倍 canvas.drawPoints(pointAddress, mPointPaint); //一定要設定線的的寬度 mLinePaint.setStrokeWidth((float) 10.0); //線的陣列一定是4的整數倍 canvas.drawLines(lineAddress, mLinePaint); } }