亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android?MPChart自定義睡眠泳道圖教程示例

 更新時間:2022年12月09日 09:53:11   作者:cxy107750  
這篇文章主要為大家介紹了Android?MPChart自定義睡眠泳道圖教程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

聲明

本文MPChart 代表的就是 MPAndroidChart。

本章節(jié)繼續(xù)上次的自定義繪制,不同之前的圖形, 日歷下邊的睡眠泳道圖,每個item不同于之前的圖形,會均等的width, 相反的是均等的高度的矩形,不等的寬度,就是所占X軸的比重不一樣,見1.1睡眠泳道圖。

1.0 睡眠泳道圖

首先跳出MPChart自定義這層概念,我們來繪制這個圖形,本身來說還是蠻簡單的,繪制四種不同的Rect,

根據(jù)不同的type 以及不同的X軸占比,兩個因素就可以將這個圖形確定下來, 其實本身也就是如此,將這兩個變量因素存入到之前介紹的BarEntry中,這里定義為SleepItemEntry, 確定寬度的 變量,分成startTime, endTime, itemDuration = endTime - startTime。 將所有的睡眠數(shù)據(jù)轉化成 Entry之后,按照之前章節(jié)介紹的邏輯,存入DataSet中,通過Buffer feed() 方法之后,形成Buffer 數(shù)組, 接著通過 Transformer 將buffer中的數(shù)據(jù)轉為屏幕像素點,Render從buffer里同以往一樣無差別取數(shù)據(jù),每次取4個繪制Rect, 整個繪制完成。

SleepItemEntry

圖1.1 SleepItemEntry

SleepItemEntry中保存了 type, 將改時間段的時間消耗變量存在 SleepItemTime中。

圖1.2 SleepItemTime 屬性

SleepBuffer

SleepBuffer 負責將上面的SleepItemEntry數(shù)據(jù)存入到Buffer數(shù)據(jù)中去,邏輯在 override的feed() 方法里實現(xiàn),依次處理DataSet中的Entry,然后通過 addBar(left, top, right, bottom); 存入到 Buffer中去。

圖1.3 SleepBuffer數(shù)據(jù)處理

addBar() 為父類 BarBuffer中的方法,將數(shù)據(jù)存入buffer中去。

protected void addBar(float left, float top, float right, float bottom) {
        buffer[index++] = left;
        buffer[index++] = top;
        buffer[index++] = right;
        buffer[index++] = bottom;
}

SleepRender

準備好SleepBuffer的數(shù)據(jù)之后,只需自定義自己的Render,然后就可以拿Buffer中的數(shù)據(jù)進行繪制了,將繪制邏輯放在override onDrawDataSet() 方法中,依舊可以看見Transformer 里的轉化Buffer數(shù)據(jù)的邏輯,里面還包含了邊界判斷,RTL判斷等其它的相關處理。

圖1.4 SleepRender繪制泳道圖

Okay, 至此泳道圖的繪制告一段落,整體相比而言比較簡單,但是依舊走了一遍MPChart自定義的邏輯,不同常規(guī)的繪制邏輯,Item的寬度,高度跟以前的不太一樣。

后續(xù)我們介紹 LineChart,以及XAxis、YAxis的自定義邏輯,以及YAxis revert的情況下,配速圖表的繪制,更多關于Android MPChart睡眠泳道圖的資料請關注腳本之家其它相關文章!

相關文章

  • Android振動器使用方法詳解

    Android振動器使用方法詳解

    這篇文章主要為大家詳細介紹了Android振動器使用方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Android自定義動態(tài)壁紙開發(fā)(時鐘)

    Android自定義動態(tài)壁紙開發(fā)(時鐘)

    今天小編就為大家分享一篇關于Android自定義動態(tài)壁紙開發(fā)(時鐘),小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • Android系統(tǒng)升級的幾種方式詳解

    Android系統(tǒng)升級的幾種方式詳解

    隨著Android系統(tǒng)的快速發(fā)展,越來越多的智能終端設備搭載Android平臺,Android系統(tǒng)升級的可以優(yōu)化智能電視系統(tǒng)性能、更新系統(tǒng)內容,因此,Android系統(tǒng)升級在Android系統(tǒng)開發(fā)領域極其重要,本文給大家介紹了Android系統(tǒng)升級的幾種方式,需要的朋友可以參考下
    2024-05-05
  • Android程序開發(fā)之使用PullToRefresh實現(xiàn)下拉刷新和上拉加載

    Android程序開發(fā)之使用PullToRefresh實現(xiàn)下拉刷新和上拉加載

    這篇文章主要介紹了Android程序開發(fā)之使用PullToRefresh實現(xiàn)下拉刷新和上拉加載的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-07-07
  • 詳解OpenGL Shader彩虹條紋效果的實現(xiàn)

    詳解OpenGL Shader彩虹條紋效果的實現(xiàn)

    這篇文章主要為大家介紹了如何通過OpenGL Shader實現(xiàn)彩虹條紋效果,最后的效果和圖片處理軟件colorow中的彩虹效果濾鏡相似,需要的可以參考一下
    2022-02-02
  • Android實現(xiàn)viewpager實現(xiàn)循環(huán)輪播效果

    Android實現(xiàn)viewpager實現(xiàn)循環(huán)輪播效果

    這篇文章主要為大家詳細介紹了Android實現(xiàn)viewpager實現(xiàn)循環(huán)輪播效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Android中post和get的提交方式【三種】

    Android中post和get的提交方式【三種】

    本文主要對Android中三種POST和GET的提交方式進行詳細介紹。通過任何一種方式可以實現(xiàn)的功能是,從安卓手機端提交數(shù)據(jù)到服務器端,服務器端進行判斷,并返回相應的結果。三種方式各有利弊,實現(xiàn)效果相同,在實際的使用過程中可以根據(jù)本身的需要進行選擇。
    2016-12-12
  • 如何使用Android實現(xiàn)接口實信息在留言板顯示

    如何使用Android實現(xiàn)接口實信息在留言板顯示

    這篇文章主要介紹了如何使用Android接口實現(xiàn)信息的留言板顯示,需要的朋友可以參考下
    2015-07-07
  • Android開發(fā)TextView內的文字實現(xiàn)自動換行

    Android開發(fā)TextView內的文字實現(xiàn)自動換行

    這篇文章主要為大家介紹了Android開發(fā)TextView內的文字實現(xiàn)自動換行,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • Android實現(xiàn)左側滑動菜單

    Android實現(xiàn)左側滑動菜單

    這篇文章主要為大家詳細介紹了Android實現(xiàn)左側滑動菜單,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02

最新評論