package com.zyf.drawview;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.graphics.RectF;
import android.util.AttributeSet;
import android.view.View;
import android.view.ViewGroup;
public class MyView extends View{
int value1=0;
int value2=0;
int value3=0;
public void setNumber(int value1,int value2,int value3)
{
this.value1=value1;
this.value2=value2;
this.value3=value3;
this.postInvalidate();
}
public MyView(Context context) {
super(context);
}
public MyView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
protected void onDraw(Canvas canvas) {
canvas.drawColor(Color.BLACK);
Paint paint=new Paint();
paint.setColor(Color.WHITE);
paint.setTextSize(50f);
canvas.drawText("今天",getWidth()/3,50f,paint);
int width=getWidth();
int height=getHeight();
float cx1=width/3;
float cy1=height/5*2;
float radius1=cx1-40;
drawcir(canvas,Color.GREEN,cx1,cy1,radius1,"行走步数",value1+"步");
float cx2=width/4*3;
float cy2=height/3;
float radius2=width/4-50;
drawcir(canvas,Color.BLUE,cx2,cy2,radius2,"运动时间",value2+"分钟");
float cx3=width/3*2;
float cy3=height/5*3;
float radius3=width/5-30;
drawcir(canvas,Color.rgb(255,200,255),cx3,cy3,radius3,"热量",value3+"\n卡");
drawcir(canvas, Color.WHITE, width / 4, height, width / 4 - 80, "", "");
paint.setColor(Color.GREEN);
canvas.drawRect(width/4-10,height-150,width/4+10,height-width/4+80,paint);
paint.setColor(Color.WHITE);
RectF oval3 = new RectF(width/4-30,height-300,width/4+30,height-150);// 设置个新的长方形
canvas.drawRoundRect(oval3, 20, 15, paint);//第二个参数是x半径,第三个参数是y半径
paint.setTextSize(20f);
canvas.drawText("Home",width/4+50,height-260,paint);
paint.setColor(Color.GREEN);
canvas.drawText("Walk",width/4+50,height-100,paint);
super.onDraw(canvas);
}
public void drawcir(Canvas canvas,int color,float cx,float cy,float radius,String text,String t2)
{
Paint paint=new Paint();
paint.setColor(color);
canvas.drawCircle(cx, cy, radius, paint);
paint.setTextSize(30f);
canvas.drawText(text,cx-radius/2,cy-radius-30,paint);
paint.setColor(Color.WHITE);
canvas.drawText(t2,cx-30,cy,paint);
}
}