自定义控件(六)- 百分比圆形

在自定义控件(2)里面我们做了一个百变的圆形,那我们就以那个为基础,在外边在加一层能根据百分比进行滚动的圆。
1。要在现有的圆外面添加一层滚动的圆弧,那首先我们先给他设置一个方法,让我们知道应该滚动多少

    //设置目标的百分比
    public void setTargetPercent(int percent) {
        this.mTargetPercent = percent;
    }
  1. 根据自定义的半径属性,画圆弧
    画圆弧,首先得有个矩形:
//画中心园的外接矩形,用来画圆环用,中心点是(CircleX,CircleY)
mArcRectF = new RectF(mCircleX-mRadius, mCircleY-mRadius, mCircleX+mRadius, mCircleY+mRadius);

3.先定义一个开始画线的角度,

        //圆环开始角度 -90° 正北方向
        mStartSweepValue = -90;
        //当前角度
        mCurrentAngle = 0;
        //当前百分比
        mCurrentPercent = 0;

4

        //设置外圆环的画笔
        mArcPaint = new Paint();
        mArcPaint.setAntiAlias(true);
        mArcPaint.setColor(getResources().getColor(R.color.colorPrimary));
        mArcPaint.setStyle(Paint.Style.STROKE);
        mArcPaint.setStrokeWidth((float) (0.075 * mCircleX));
        //画圆环
        canvas.drawArc(mArcRectF, mStartSweepValue, mCurrentAngle, false, mArcPaint);
        //判断当前百分比是否小于设置目标的百分比
        if (mCurrentPercent < mTargetPercent) {
            //当前百分比+1
            mCurrentPercent += 1;
            setmText(mCurrentPercent + "%");
            //当前角度+360
            mCurrentAngle += 3.6;
            //每10ms重画一次
            postInvalidateDelayed(10);
        }

然后就可以得到支持各种自定义的百分比圆形啦
这里写图片描述
下载地址:http://download.csdn.net/detail/qq_29375071/9388695

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值