美文网首页
Android自定义半圆环进度分布控件

Android自定义半圆环进度分布控件

作者: yinhaide | 来源:发表于2019-11-29 15:51 被阅读0次

    HDSemicircle

    一个非常轻量级别的半圆环进度分布控件,支持自定义属性

    semi_circle.gif

    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框架,如果有兴趣的话可以去了解一下

    关于我

    相关文章

      网友评论

          本文标题:Android自定义半圆环进度分布控件

          本文链接:https://www.haomeiwen.com/subject/ejjgwctx.html