Android 绘制太极图实例详解
2019年09月04日
作者:佚名
Android 绘制太极图
绘制一个太极图实现代码:
package com.jackie.taijicircle; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.RectF; import android.util.AttributeSet; import android.view.View; /** * Created by Administrator on 2016/11/14. */ public class TaijiCircleView extends View { private Paint mPaint; private int mWidth; public TaijiCircleView(Context context) { this(context,null); } public TaijiCircleView(Context context,AttributeSet attrs) { this(context,attrs,0); } public TaijiCircleView(Context context,AttributeSet attrs,int defStyleAttr) { super(context,defStyleAttr); initPaint(); } private void initPaint() { mPaint = new Paint(); mPaint.setColor(Color.BLACK); mPaint.setStrokeWidth(5); mPaint.setAntiAlias(true); mPaint.setDither(true); mPaint.setStyle(Paint.Style.FILL); } private void drawCircle(Canvas canvas) { mPaint.setColor(Color.BLACK); //x轴正轴为0° // canvas.drawArc(new RectF(0,width,width),90,180,true,mPaint); canvas.drawArc(new RectF(0,mWidth,mWidth),270,-180,mPaint); mPaint.setColor(Color.WHITE); // canvas.drawArc(new RectF(0,mPaint); } private void drawHalfCircle(Canvas canvas) { mPaint.setColor(Color.BLACK); canvas.drawArc(new RectF(mWidth / 4,mWidth / 2 + mWidth / 4,mWidth / 2),mPaint); mPaint.setColor(Color.WHITE); canvas.drawArc(new RectF(mWidth / 4,mWidth / 2,mPaint); } private void drawSmallCircle(Canvas canvas) { mPaint.setColor(Color.BLACK); canvas.drawCircle(mWidth / 2,mWidth * 3 / 4,20,mPaint); mPaint.setColor(Color.WHITE); canvas.drawCircle(mWidth / 2,mWidth / 4,mPaint); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); mWidth = Math.min(getWidth(),getHeight()); drawCircle(canvas); drawHalfCircle(canvas); drawSmallCircle(canvas); } }
微信公众号搜索 “ 程序精选 ” ,选择关注!
精选程序员所需精品干货内容!