最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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ù)轉(zhuǎn)化成 Entry之后,按照之前章節(jié)介紹的邏輯,存入DataSet中,通過Buffer feed() 方法之后,形成Buffer 數(shù)組, 接著通過 Transformer 將buffer中的數(shù)據(jù)轉(zhuǎn)為屏幕像素點,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 里的轉(zhuǎn)化Buffer數(shù)據(jù)的邏輯,里面還包含了邊界判斷,RTL判斷等其它的相關(guān)處理。

圖1.4 SleepRender繪制泳道圖

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

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

相關(guān)文章

  • Android4.0.x Home鍵事件攔截監(jiān)聽的方法

    Android4.0.x Home鍵事件攔截監(jiān)聽的方法

    這篇文章主要介紹了Android4.0.x Home鍵事件攔截監(jiān)聽的方法,對比分析了2.3.x的實現(xiàn)方法,分析了4.0.x實現(xiàn)Home鍵事件攔截監(jiān)聽的相關(guān)技巧,需要的朋友可以參考下
    2016-02-02
  • 淺談Android Studio 4.1 更新內(nèi)容

    淺談Android Studio 4.1 更新內(nèi)容

    這篇文章主要介紹了淺談Android Studio 4.1 更新內(nèi)容,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • Android仿今日頭條頂部導航欄效果的實例代碼

    Android仿今日頭條頂部導航欄效果的實例代碼

    這篇文章主要介紹了Android之仿今日頭條頂部導航欄效果的實例代碼,具有很好的參考價值,希望對大家有所幫助,一起跟隨小編過來看看吧
    2018-05-05
  • 新版Flutter集成到已有Android項目的實現(xiàn)

    新版Flutter集成到已有Android項目的實現(xiàn)

    這篇文章主要介紹了新版Flutter集成到已有Android項目的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • MediaPlayer音頻與視頻播放方法示例介紹

    MediaPlayer音頻與視頻播放方法示例介紹

    這篇文章主要為大家介紹了MediaPlayer音頻與視頻播放方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • Delphi在Android下使用Java庫的方法

    Delphi在Android下使用Java庫的方法

    這篇文章主要介紹了Delphi在Android下使用Java庫的方法,本文以Android的USB串口通訊庫為例,給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-11-11
  • Android如何實現(xiàn)底部菜單固定到底部

    Android如何實現(xiàn)底部菜單固定到底部

    這篇文章主要介紹了Android如何實現(xiàn)底部菜單固定到底部,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • Android 布局控件之LinearLayout詳細介紹

    Android 布局控件之LinearLayout詳細介紹

    Android 布局控件之LinearLayout詳細介紹,需要的朋友可以參考一下
    2013-05-05
  • android GridView多選效果的實例代碼

    android GridView多選效果的實例代碼

    在使用 GridView的時候,有時需要多選上面顯示的類容,比如批量刪除上面顯示的圖片,批量上傳圖片等。這個時候我們可以使用層疊圖來實現(xiàn),效果如下:
    2013-06-06
  • Android入門之TabHost與TabWidget實例解析

    Android入門之TabHost與TabWidget實例解析

    這篇文章主要介紹了Android入門之TabHost與TabWidget,對于Android初學者有一定的學習借鑒價值,需要的朋友可以參考下
    2014-08-08

最新評論

赤水市| 元江| 榕江县| 浦江县| 安化县| 历史| 泰安市| 马龙县| 涿州市| 武平县| 孙吴县| 黔东| 民和| 德昌县| 华阴市| 措勤县| 绥德县| 旅游| 科技| 青川县| 鲁山县| 苍山县| 大庆市| 犍为县| 安国市| 长丰县| 开远市| 东乌| 天等县| 禹城市| 永寿县| 佛冈县| 响水县| 方城县| 葫芦岛市| 泰来县| 登封市| 库伦旗| 阿拉善盟| 东平县| 东阳市|