Android 繪制太極圖實(shí)例詳解
更新時(shí)間:2016年12月27日 10:41:05 投稿:lqh
本文主要介紹了 Android 繪制太極圖實(shí)例的資料,這里提供了實(shí)例代碼及實(shí)現(xiàn)效果圖,需要的小伙伴可以參考下
Android 繪制太極圖
繪制一個(gè)太極圖實(shí)現(xiàn)代碼:
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);
}
}

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
Android圖像視圖ImageView實(shí)現(xiàn)圖像拉伸效果
這篇文章主要為大家詳細(xì)介紹了Android圖像視圖ImageView實(shí)現(xiàn)圖像拉伸演示,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-05-05
andoid打包短信發(fā)送到gmail郵箱實(shí)現(xiàn)代碼
andriod短信整合備份發(fā)送到gmail郵箱,需要在andoid手機(jī)配置好gmail郵箱,下面是具體的實(shí)現(xiàn)代碼,感興趣的朋友可以參考下哈2013-06-06
anndroid使用ViewPager實(shí)現(xiàn)三個(gè)fragment切換
這篇文章主要介紹了anndroid使用ViewPager實(shí)現(xiàn)三個(gè)fragment切換,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-04-04
Android App中使用RatingBar實(shí)現(xiàn)星級(jí)打分功能的教程
這篇文章主要介紹了Android App中使用RatingBar實(shí)現(xiàn)星級(jí)打分功能的教程,文中舉了一個(gè)使用SeekBar與RatingBar制作的應(yīng)用內(nèi)打分條的功能,非常簡(jiǎn)單,需要的朋友可以參考下2016-04-04
Android中使用Gradle來構(gòu)建App項(xiàng)目的入門指南
Gradle是Java世界中一個(gè)高人氣自動(dòng)化構(gòu)建工具,在安卓開發(fā)領(lǐng)域同樣備受追捧,這里為大家?guī)鞟ndroid中使用Gradle來構(gòu)建App項(xiàng)目的入門指南,來看看Gradle的作用與基本結(jié)構(gòu).2016-06-06
Android實(shí)現(xiàn)QQ的第三方登錄和分享
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)QQ的第三方登錄和分享,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11

