Android自定义睡眠质量分布控件

HDSleepQuality

一个非常轻量级别的睡眠质量分布控件,支持自定义属性
sleep.gif

Github地址

https://github.com/yinhaide/HDSleepQuality

特性

  • 支持动画过度

  • 支持设置各个睡眠质量的颜色

  • 支持连接各个睡眠质量条

如何快速集成

导入方式

在工程级别的build.gradle添加

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

在应用级别的build.gradle添加

api 'com.github.yinhaide:HDSleepQuality: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框架,如果有兴趣的话可以去了解一下

关于我

发布了17 篇原创文章 · 获赞 100 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/yinhaide/article/details/103314329