/Ring

圆环进度条,环形进度条

Primary LanguageJava

Ring圆环进度

github

属性 类型 说明
neiYuanColor color 内圆颜色,默认透明
ringRadius dimension 圆环半径
ringWidth dimension 圆环宽度
ringColor color 圆环颜色
ringProgressColor color 圆环进度颜色
startAngle integer 开始角度,默认为-90(12点钟方向),0度是3点钟方向,90度是6点钟方向
isClockwise boolean 是否顺时针,默认true
progress float 当前进度
maxProgress float 总进度,默认100
disableAngle integer 不绘制的角度(圆环缺损角度)
isRound boolean 圆环进度是否为圆角,默认true
useAnimation boolean 是否设置动画,默认true(setProgress方法执行动画时获取progress建议设置监听事件获取)
duration integer 动画执行时间,单位:毫秒,默认1000毫秒
isDecimal boolean 进度百分比数值是否有小数点,默认true
decimalPointLength integer 小数点后几位
isShowPercentText boolean 是否显示百分比,默认true
textColor color 文字颜色
textSize dimension 文字大小,默认17sp

进度监听

CircleProgress circleprogress = (CircleProgress) findViewById(R.id.circleprogress);
circleProgress.setOnCircleProgressInter(new CircleProgress.OnCircleProgressInter() {
    @Override
    public void progress(float scaleProgress, float progress, float max) {
        //总进度max,当前进度:progress,动画执行进度:scaleProgress
    }
});
<com.github.ring.CircleProgress
    android:id="@+id/circleprogress"
    android:layout_width="200dp"
    android:layout_height="200dp"
    app:textSize="22sp"
    app:decimalPointLength="1"
    app:isShowPercentText="true"
    app:progress="120"
    app:maxProgress="200"
    app:ringProgressColor="@color/blue_00"
    app:disableAngle="0"
    app:duration="1000"
    app:isClockwise="true"
    app:isDecimal="true"
    app:isRound="true"
    app:useAnimation="true"
    app:ringColor="@color/top_color1"
    app:neiYuanColor="@color/transparent"
    app:ringRadius="90dp"
    app:ringWidth="10dp"
    app:textColor="@color/blue_00"
    />

设置过度颜色

circleprogress.post(new Runnable() {
    @Override
    public void run() {
        LinearGradient linearGradient = new LinearGradient(0,0,
                circleprogress.getWidth(),circleprogress.getHeight(),
                circleprogress.getRingProgressColor(), ContextCompat.getColor(MainActivity.this,R.color.green),
                Shader.TileMode.MIRROR);
        circleprogress.setProgressShader(linearGradient);
    }
});

如果本库对您有帮助,还希望支付宝扫一扫下面二维码,你我同时免费获取奖励金(非常感谢 Y(^-^)Y)

github

Download <--版本号

compile 'com.github:CircleProgress:版本号看上面'