欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-02-06 22:42:22
...

HDSemicircle

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

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

关于我

LICENSE

Copyright 2019 haide.yin(aaa@qq.com)

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.