import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Rect; import android.graphics.RectF; import android.support.annotation.Nullable; import android.text.TextPaint; import android.util.AttributeSet; import android.view.View; /** * Created by YRC on 2017/4/24. */ public class Huxian extends View { Paint circlePaint,arcPaint,textPaint; RectF mArcRectF; //弧线度数变量 int i=10; public Huxian(Context context) { super(context); } public Huxian(Context context, @Nullable AttributeSet attrs) { super(context, attrs); initPaint(); } private void initPaint() { textPaint=new TextPaint(0); textPaint.setColor(Color.RED); textPaint.setTextSize(50); //实心圆画笔 circlePaint=new Paint(0); circlePaint.setColor(Color.BLUE); //外圈弧线画笔 arcPaint=new Paint(0); arcPaint.setColor(Color.GREEN); //设置不填充中间-圆环 arcPaint.setStyle(Paint.Style.STROKE); //画笔粗细 arcPaint.setStrokeWidth((float) 80.0); //用来定位弧线的矩形 mArcRectF=new RectF(); mArcRectF.top=200; mArcRectF.bottom=600; mArcRectF.right=600; mArcRectF.left=200; } @Override protected void onDraw(Canvas canvas) { float xy=400;//圆心 float radius=100; //半径 canvas.drawCircle(xy,xy,radius,circlePaint); canvas.drawArc(mArcRectF,130,i,false,arcPaint); canvas.drawText(String.valueOf(i),370,420,textPaint); canvas.drawText("点就能转圈!",260,720,textPaint); } public void add(){ if (i>=360){ i=0; postInvalidate(); }else { // this.i+=10; i=i+10; postInvalidate(); } } }
个人练习代码库/点击转圈自定义View
最新推荐文章于 2023-05-19 11:47:55 发布