自己在项目中遇到这样的需求,然后经过一番搜索找不到同款,自己就动手做了一个。里面的功能比较简单,只针对我自己项目里的需求做的简单功能。如果本人项目不忙(不懒)的话后面再对其进行扩展
<com.master.sleepmonitor.SleepMonitView
android:id="@+id/sleep_view"
android:layout_width="match_parent"
android:layout_height="300dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
app:layout_constraintBottom_toBottomOf="parent"
app:backgroundColor="@color/white"
app:deepColumnColor="#01C8E4"
app:layout_constraintTop_toTopOf="parent"
app:lightColumnColor="#4FF5FC"
app:soberColumnColor="#CCCDD0" />
属性 | 类型 | 说明 |
---|---|---|
septalLineHigh | dimension | 间隔线高度 |
septalLineColor | color | 间隔线颜色 |
soberColumnColor | color | 清醒矩形色 |
lightColumnColor | color | 浅睡矩形色 |
deepColumnColor | color | 深睡矩形色 |
backgroundColor | color | 控件整体的背景色,默认白色 |
添加远程仓库
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
添加依赖
implementation 'com.github.MasterChen1016:SleepMonitorView:1.0.0'
sleepView.mData = getSleepData()
//模拟数据
private fun getSleepData(): MutableList<SleepEntry> {
val s = mutableListOf<SleepEntry>()
s.add(SleepEntry(SleepType.SOBER, 18 * 60))//清醒18分钟
s.add(SleepEntry(SleepType.DEEP, 259 * 60))//深睡259分钟
s.add(SleepEntry(SleepType.LIGHT, 5 * 60))//浅睡5分钟
s.add(SleepEntry(SleepType.DEEP, 68 * 60))//深睡68分钟
s.add(SleepEntry(SleepType.LIGHT, 10 * 60))//浅睡10分钟
s.add(SleepEntry(SleepType.SOBER, 18 * 60))//清醒18分钟
return s
}