Home

Awesome

<p align="center"> JProgressView <br/> <img src='http://cdn.51git.cn/2020-07-15-15948208369286.gif'></p>

<p align="center"> 如果这个仓库对你有帮助,请仓库右上角帮我 star 一下</p> <p align="center"> 一个小巧灵活可定制的进度条,支持图形:圆形、圆角矩形、矩形等等,陆续会添加更多的图形 </p> <p align="center"> <a href="https://github.com/hi-dhl"><img src="https://img.shields.io/badge/GitHub-HiDhl-4BC51D.svg?style=flat"></a> <a href="https://opensource.org/licenses/Apache-2.0"><img src="https://img.shields.io/badge/license-Apache2.0-blue.svg?style=flat"></a> <img src="https://img.shields.io/badge/language-kotlin-orange.svg"/> <img src="https://img.shields.io/badge/platform-android-lightgrey.svg"/> </p> <p align="center"> <img src="http://cdn.51git.cn/2020-07-13-15946108487308.gif"/> </p>

JProgressView 包含以下功能

Download

allprojects {
    repositories {
        jcenter()
    }
}
dependencies {
    implementation 'com.hi-dhl:progressview:1.0.2'
}

Usage

1.在 layout 文件内添加以下命名空间

xmlns:app="http://schemas.android.com/apk/res-auto"

2.实现一个进度条基本示例

<com.hi.dhl.jprogressview.JProgressView
    android:id="@+id/circleProgresssView0"
    android:layout_width="match_parent"
    android:layout_height="20dp"
    app:progress_animate_duration="1500"
    app:progress_color="@color/progress_color"
    app:progress_color_background="@color/progress_color_background"
    app:progress_paint_bg_width="@dimen/progress_paint_width"
    app:progress_paint_value_width="@dimen/progress_paint_width"
    app:progress_rect_text_align="1"
    app:progress_text_color="@color/progress_text_color"
    app:progress_text_size="@dimen/text_size_14sp"
    app:progress_text_visible="true"
    app:progress_type="2"
    app:progress_value="40"
    app:progress_rect_radius="8dp"
    app:progress_value_max="100" />

通用属性,适合所有形状的进度条:

名称值类型默认值备注
progress_typeinteger圆形:1矩形:0;圆形:1;圆角矩形:2
progress_animate_durationinteger2000动画运行时间
progress_colorcolorColor.GRAY当前进度颜色
progress_color_backgroundcolorColor.GRAY进度条背景颜色
progress_paint_bg_widthdimen10进度条背景画笔的宽度
progress_paint_value_widthdimen10当前进度画笔的宽度
progress_text_colorcolorColor.BLUE进度条上的文字的颜色
progress_text_sizedimensp2Px(20f)进度条上的文字的大小
progress_text_visibleboolean默认不显示:false是否显示文字
progress_valueinteger0当前进度
progress_value_maxinteger100当前进度条的最大值
progress_start_animateboolean默认不自动开启:false是否开动画自动播放

以下属性,矩形 或者 圆角矩形进度条专有属性:

名称值类型默认值备注
progress_rect_text_aligninteger中间:1文字位于进度条位置(左边:0;中间:1;右边:2)
progress_rect_radiusdimen0进度条圆角

以下属性,圆形进度条专有属性:

名称值类型默认值备注
progress_circle_sweep_angleintegertop:1进度条开始角度(left:0;top:1;right:2;bottom:3)

开启或停止动画

默认不开启动画,在需要开启动画的地方调用以下代码:

circleProgresssView0.startAnimal()

调用以下代码停止动画:

progresssView.stopAnimal()

还可以通过代码设置进度条一些属性,代码会覆盖 XML 设置的属性

progresssView
    .setProgress(0f)// 当前进度
    .setMaxProgress(100)// 进度条的最大值
    .setReverse(false)// 进度条回放
    .setAnimateDuration(1000)// 动画运行时间
    .isShowText(true)// 是否显示文字
    .setProgressColor(resources.getColor(R.color.progress_color, null))// 当前进度颜色
    .setProgressColorBackground(resources.getColor(R.color.progress_color_background, null))// 进度条背景颜色
    .setRectRadius(resources.getDimension(R.dimen.common_radius_8dp))// 圆角
    .setRectTextAlign(1)// 文字位于进度条位置(左边:0;中间:1;右边:2)
    .setTextColor(resources.getColor(R.color.progress_text_color, null))// 文字颜色
    .setTextSize(resources.getDimension(R.dimen.text_size_14sp))// 文字大小
    .setShapeType(2)// 形状: 矩形:0;圆形:1;圆角矩形:2
    .setProgressPaintBackgroundWidth(resources.getDimension(R.dimen.progress_paint_width))// 进度条背景画笔的宽度
    .setProgressPaintWidth(resources.getDimension(R.dimen.progress_paint_width))// 当前进度画笔的宽度
    .resetValue()// 通过代码设置完属性之后,需要调用,重新绘制

未来还未支持更多自定义图形,请持续关注,如果这个仓库对你有帮助,请仓库右上角帮我 star 一下。


最后推荐我一直在更新维护的项目和网站: