package com.example.a03_customview.view; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Path; import android.support.annotation.Nullable; import android.util.AttributeSet; import android.view.View; /** * Created by yujie on 2017/11/30. */ public class PointView extends View{ public PointView(Context context) { super(context); } public PointView(Context context, @Nullable AttributeSet attrs) { super(context, attrs); } public PointView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); Paint paint = new Paint(); paint.setAntiAlias(true); paint.setColor(Color.RED); paint.setStyle(Paint.Style.FILL); paint.setStrokeWidth(5); /*//点 canvas.drawPoint(100, 100, paint);*/ /*float[] points = {100, 100, 300, 300, 500, 500, 700, 700}; canvas.drawPoints(points, paint);*/ /*//线 canvas.drawLine(100, 100, 300, 300, paint);*/ /*//折线 float[] lines= {100, 100, 200, 200, 200, 200, 300, 200, 300, 200, 400, 300}; canvas.drawLines(lines, paint);*/ /*//矩形 canvas.drawRect(100, 200, 300, 400, paint);*/ /*Rect rect = new Rect(100, 200, 300, 400); canvas.drawRect(rect, paint);*/ /*//椭圆 canvas.drawOval(100, 200, 300, 400, paint);*/ /*RectF rectF = new RectF(100, 200, 300, 500); canvas.drawOval(rectF, paint);*/ /*//扇形 RectF rectF = new RectF(100, 200, 300, 500); canvas.drawArc(rectF, 0, 90, true, paint);*/ String text = "我是八维人"; paint.setTextSize(60); //x,y确定的坐标是文本的左下角的点 //canvas.drawText(text,100,100,paint); Path path = new Path(); //Path.Direction.CCW逆时针...CW顺时针 path.addCircle(300,300,200, Path.Direction.CW); canvas.drawTextOnPath(text,path,0,0,paint); } }
自定义View各种形状画法
最新推荐文章于 2021-05-25 20:54:00 发布