首页 > 系统 > Android > 正文

Android 绘制太极图实例详解

2019-12-12 04:12:15
字体:
来源:转载
供稿:网友

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, attrs, 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, 0, width, width), 90, 180, true, mPaint);     canvas.drawArc(new RectF(0, 0, mWidth, mWidth), 270, -180, true, mPaint);      mPaint.setColor(Color.WHITE); //    canvas.drawArc(new RectF(0, 0, width, width), 90, -180, true, mPaint);     canvas.drawArc(new RectF(0, 0, mWidth, mWidth), 270, 180, true, mPaint);   }    private void drawHalfCircle(Canvas canvas) {     mPaint.setColor(Color.BLACK);     canvas.drawArc(new RectF(mWidth / 4, 0, mWidth / 2 + mWidth / 4, mWidth / 2),         270, 180, true, mPaint);      mPaint.setColor(Color.WHITE);     canvas.drawArc(new RectF(mWidth / 4, mWidth / 2, mWidth / 2 + mWidth / 4, mWidth),         270, -180, true, 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, 20, mPaint);   }    @Override   protected void onDraw(Canvas canvas) {     super.onDraw(canvas);      mWidth = Math.min(getWidth(), getHeight());     drawCircle(canvas);     drawHalfCircle(canvas);     drawSmallCircle(canvas);   } } 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表