博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自定义圆环进度条
阅读量:7081 次
发布时间:2019-06-28

本文共 2217 字,大约阅读时间需要 7 分钟。

hot3.png

package com.example.carlos.myapplication;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;/** * Created by carlos on 2015/10/24. */public class CustomView extends View {    private Paint mPaintBackCircle;    private Paint mPaintFrontCircle;    private Paint mPaintText;    private float mStrokeWith =50;    private float mHalfStrokeWith = mStrokeWith/2;    private float mX = 200 + mHalfStrokeWith;    private float mY = 200 + mHalfStrokeWith;    private float mRadius = 200;    private RectF mRectF;    private int mProgess;    public CustomView(Context context) {        super(context);        init();    }    public CustomView(Context context, AttributeSet attrs) {        super(context, attrs);        init();    }    public CustomView(Context context, AttributeSet attrs, int defStyleAttr) {        super(context, attrs, defStyleAttr);        init();    }    private void init(){        mPaintBackCircle = new Paint();        mPaintBackCircle.setColor(Color.BLUE);        mPaintBackCircle.setAntiAlias(true);        mPaintBackCircle.setStyle(Paint.Style.STROKE);        mPaintBackCircle.setStrokeWidth(mStrokeWith);        mPaintFrontCircle = new Paint();        mPaintFrontCircle.setColor(Color.YELLOW);        mPaintFrontCircle.setAntiAlias(true);        mPaintFrontCircle.setStyle(Paint.Style.STROKE);        mPaintFrontCircle.setStrokeWidth(mStrokeWith);        mPaintText = new Paint();        mPaintText.setColor(Color.RED);        mPaintText.setAntiAlias(true);        mPaintText.setTextSize(50);        mPaintText.setTextAlign(Paint.Align.CENTER);        mRectF = new RectF(mHalfStrokeWith,mHalfStrokeWith,mRadius*2 + mHalfStrokeWith,mRadius*2 + mHalfStrokeWith);        mProgess =75;    }    @Override    protected void onDraw(Canvas canvas) {        super.onDraw(canvas);        canvas.drawCircle(mX, mY, mRadius, mPaintBackCircle);        canvas.drawArc(mRectF,0,270,false,mPaintFrontCircle);        canvas.drawText(mProgess+"%",mX,mY,mPaintText);    }}

004601_vdis_172649.png

整个工程下载链接:

转载于:https://my.oschina.net/kingfrog/blog/521676

你可能感兴趣的文章
CSS-position详解
查看>>
OrderOnline——需求及数据描述
查看>>
二叉树的遍历
查看>>
phpcms笔记
查看>>
表格 td中,取checkbox后几位值
查看>>
linux 修改时区
查看>>
ueditor 定制工具栏图标
查看>>
编程技术面试的五大要点
查看>>
函数fgets和fputs、fread和fwrite、fscanf和fprintf用法小结
查看>>
wxwidgets wxstring与std::string互相转换
查看>>
zoj 2316 Matrix Multiplication(2-D)
查看>>
ios委托delegate与协议protocol
查看>>
Java动态调用webService,axis2动态调用webService
查看>>
PHP 发送邮件
查看>>
java初学代码,还不太熟练
查看>>
gb2312提交的url编码转换成utf8的查询
查看>>
python使用SUDS调用webservice
查看>>
会议室预定设计
查看>>
oracle lengthb
查看>>
js执行效率小结
查看>>