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);

}

}

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

Android4太极,Android 绘制太极图实例详解相关推荐

  1. python画直方图成绩分析-python plotly绘制直方图实例详解

    计算数值出现的次数 import cufflinks as cf cf.go_offline() import numpy as np import pandas as pd set_slippage ...

  2. python画直方图-python plotly绘制直方图实例详解

    计算数值出现的次数 import cufflinks as cf cf.go_offline() import numpy as np import pandas as pd set_slippage ...

  3. Android NFC卡实例详解

    Android NFC卡实例详解 公司最近在做一个NFC卡片的工程,经过几天的时间,终于写了一个Demo出来,在此记录下在此过程中遇到的问题.由于之前本人是做iOS的,Android写起来并不是那么的 ...

  4. Android百度地图实例详解之仿摩拜单车APP(包括附近车辆、规划路径、行驶距离、行驶轨迹记录,导航等)

    Android百度地图实例详解之仿摩拜单车APP(包括附近车辆.规划路径.行驶距离.行驶轨迹记录,导航等) 标签: android百度地图行驶轨迹记录共享单车行驶距离和时间 2017-03-08 20 ...

  5. android 调用oracle,Android 调用WCF实例详解

    Android 调用WCF实例 1. 构建服务端程序 using System.ServiceModel; namespace yournamespace { [ServiceContract(Nam ...

  6. android手机自动化测试,Android手机自动化测试实例详解

    2014-9-24 本人从参加工作以来,一直在做自动化测试方面的工作.最初接触的是Web自动化,后来又做接口自动化测试.由于最近几年手机应用越来越广泛,手机应用的自动化测试也发展的很快,所以我就利用工 ...

  7. python 3d绘图平面_python 用 matplotlib 在 3D 空间中绘制平面 实例详解

    #创建画布 fig = plt.figure(figsize=(12, 8), facecolor='lightyellow')#创建 3D 坐标系 ax = fig.gca(fc='whitesmo ...

  8. python绘制简单直方图-python plotly绘制直方图实例详解

    python plt怎么绘制直方图 # /usr/bin/python# -*- coding: utf-8 -*-import numpy as npfrom matplotlib import p ...

  9. android自定义dialog 例子,android dialog自定义实例详解

    本人工作有一个月多了.对于android很多东西,都有了新的了解或者说真正的掌握.为了让更多的像我这样的小白少走弯路,所以我会坚持将我在工作中遇到的一些比较令我印象深刻的知识点整合出来给大家(顺序是按 ...

  10. android的cantext对象,安卓Android Context类实例详解

    1.例如下面的代码片段,Toast类的第一个参数接受一个Context对象: @Override protected Dialog onCreateDialog(int id) { switch (i ...

最新文章

  1. rhel6Inode详解
  2. Almost sorted interval
  3. Spring与其他Web框架集成
  4. 安装ORACLE 11G R2 +redhat es4遇到的问题
  5. 找软件开发开发工作_将求职变成开发项目
  6. IOS中的数据存储 简单总结
  7. 计算机缺考学校知道吗,计算机二级机考缺考成绩单会不会显示缺考啊
  8. 编程实现strcpy函数_C编程中的strcpy()
  9. C++ 的异常处理解答
  10. VS清理中间文件bat脚本
  11. PHP生成一寸照片代码,用PS制作1寸证件照方法介绍
  12. PG in not in系列方案比较
  13. 写英文论文的一些心得
  14. PHP中的preg_replace()函数
  15. 和数软件新增9项计算机软件著作权登记证书
  16. 域控制器组策略:利用脚本安装exe软件
  17. Android布局——线性布局、相对布局、帧布局、表格布局、网格布局、约束布局
  18. java mongodb批量更新_java中mongoTemplate批量更新
  19. sqlyog 试用版过期
  20. 快用Python(Pygame)代码燃放起你专属的烟花吧,咝......咻——嘭~

热门文章

  1. GMM估计分析步骤及结果解读
  2. 容器化运行wine模拟器制作开源代码索引chm文件
  3. oracle em 证书错误,导航阻止
  4. 4.1%的利率,100万贷款,30年还款,我们每月能少还多少房贷呢
  5. 机器人断指_揭秘我国机器人发展历程:从机械手到服务机器人
  6. 中国移动OMS操作系统厂商播思获1740万美元风投
  7. 微软ime日文输入法每次切换英文和假名输入状态时,画面中央总有图片提示,怎么消掉
  8. 人生,就是一个个未竟之志叠起来的
  9. GitHub的注册与使用
  10. iatf16949内审员_IATF16949:2016内审员试题及答案.pdf