绘制一个太极图:

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);    }}
效果图如下:

Android 绘制太极图_第1张图片

更多相关文章

  1. 代码中设置drawableleft
  2. android 3.0 隐藏 系统标题栏
  3. Android开发中activity切换动画的实现
  4. Android(安卓)学习 笔记_05. 文件下载
  5. Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
  6. 技术博客汇总
  7. android 2.3 wifi (一)
  8. AndRoid Notification的清空和修改
  9. Android中的Chronometer

随机推荐

  1. 最近一年做Android项目过程中,对其的一些
  2. listview中的Android listview适配器(jso
  3. android 2D 游戏的开发的方法
  4. Android 实现Activity后台运行
  5. SQLite的Android光标在方法调用时崩溃
  6. Java Android套接字连接。错误的IP地址导
  7. Android 图片添加水印图片或者文字
  8. 点击或长按的Android Listview用户交互设
  9. Android Toolbar返回按钮颜色修改
  10. studio更新时候,不小心点了ignore,无法更新