HDSemicircle
一个非常轻量级别的半圆环进度分布控件,支持自定义属性
Github地址
https://github.com/yinhaide/HDSemicircle
特性
支持动画过度
支持设置背景色,圆环各种分布色
支持设置颜色块分布区域
如何快速集成
导入方式
在工程级别的build.gradle添加
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
在应用级别的build.gradle添加
api 'com.github.yinhaide:HDSemicircle:0.0.1'
范例
[XML]
<com.yhd.semicircle.SemiCircleView
android:background="@color/colorWhite"
android:id="@+id/smc"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_centerInParent="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:se_deepColor="#ffa239"/>
[JAVA]
/**
* 需要加深分布点,是一个String[]类表,规则如下
* String[0]:开始百分比(0-1f)
* String[1]:扫过的百分比(0-1f)
* String[0] + String[1] <= 1f
*/
List<float[]> deepArray = new ArrayList<>();
deepArray.add(new float[]{0.2f, 0.1f});
deepArray.add(new float[]{0.4f, 0.1f});
deepArray.add(new float[]{0.6f, 0.1f});
barChartView.setDeepArray(deepArray);
分享设计思路
控件整体由半个圆环组成的,并在半圆内部分别绘制不同的颜色分布块
- 第一步:绘制外边半圆环
- 第二步:绘制中间不同的颜色块
这个项目会持续更新中...
都看到这里了,如果觉得写的可以或者对你有帮助的话,顺手给个星星点下Star~
这个控件内部采用一个Fragment框架,如果有兴趣的话可以去了解一下
关于我
- Email: 123302687@qq.com
- Github: https://github.com/yinhaide
- 简书: https://www.jianshu.com/u/33c3dd2ceaa3
- CSDN: https://blog.csdn.net/yinhaide