欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于RecyclerChart的KLine繪制詳解

 更新時間:2023年03月03日 08:30:00   作者:cxy107750  
這篇文章主要為大家詳細介紹了基于RecyclerChart實現(xiàn)KLine繪制的相關(guān)資料,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下

本章節(jié)是KLine的繪制的第二章節(jié),在原來的基礎(chǔ)上繪制5、10、20日均線。下面是gif的效果。

其實只是把線性圖表的繪制邏輯搬到這邊一起,上篇文章提到在一個For循環(huán)里處理,減少遍歷,之前是通過Entry的Y值找對應(yīng)的PointF的Y值,這里需要用StockEntry中的5日、10日、20日均線值去求值。就是類似的一些邏輯替換,思想還是不變,然后左右邊界的處理暫時先放一放,滑動到邊界會有一些bug。

同時,這里的均值沒有參與到圖表YAxis的Max、min的計算中去,會有線出上下邊界的情況,待修復(fù)。

整體的繪制思想還是比較簡單的,代碼如下:

然后就是5/10/20均線點的繪制,這里值最好Server返回,或者計算好存入數(shù)據(jù)庫,然后圖表每次繪制時從數(shù)據(jù)庫里讀取數(shù)據(jù)。所以這三個值,跟繪制沒有關(guān)聯(lián)。

用一個滑動窗口的管理類,外加一個隊列,在原來的一次遍歷的基礎(chǔ)上處理完:

    var queue:Queue<Float> = LinkedList()
    var sum:Float = 0f
    fun queueAddItem(value:Float){
        queue.offer(value)
        sum += value
    }
    fun queueRemoveItem(){
       val value = queue.poll()
        value?.let {
            sum -= value
        }
    }
    fun getAvg(type:Int, value: Float): Float{
        queueAddItem(value)
        val count = queue.size
        if (count < type){
            return value
        }else if (count == type){
            val avg = sum/count
            queueRemoveItem()
            return avg
        }
        return -1f
    }
}

接下來會處理底部的成交量圖以及其它的一些底部圖表;之前的方式是通過兩個Chart表的聯(lián)動處理,看見網(wǎng)上有MPChartAndroid的類似的也是這樣處理的。繪制均線的過程中想到為什么不一起畫呢?同樣可以在上面的那個for循環(huán)里一起畫了,然后就不存在兩表的聯(lián)動問題了。只不過多了一個工作就是,需要處理兩個YAxis,同時,底部點YAxis也要實時地計算Max、Min, 然后聯(lián)動圖表。

再就是縮放,上一章節(jié)提到的,其實只需縮放后,按比例計算當下的DisplayNumber,然后再invalidate(), 這里的話就是Adapter.notifyDatachange()應(yīng)該就Okay了,本章節(jié)暫時先到此。

到此這篇關(guān)于基于RecyclerChart的KLine繪制詳解的文章就介紹到這了,更多相關(guān)RecyclerChart KLine內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • springboot掃描自定義的servlet和filter代碼詳解

    springboot掃描自定義的servlet和filter代碼詳解

    本文是一篇根據(jù)作者工作經(jīng)歷總結(jié)出來的關(guān)于springboot掃描自定義的servlet和filter代碼詳解的文章,小編覺得非常不錯,這里給大家分享下,和朋友們一起學習,進步。
    2017-10-10
  • 詳解Kotlin中的變量和方法

    詳解Kotlin中的變量和方法

    這篇文章主要介紹了詳解Kotlin中的變量和方法的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • 詳解Alibaba?Java診斷工具Arthas查看Dubbo動態(tài)代理類

    詳解Alibaba?Java診斷工具Arthas查看Dubbo動態(tài)代理類

    這篇文章主要介紹了Alibaba?Java診斷工具Arthas查看Dubbo動態(tài)代理類?,它可以幫助我們查看JDK或者javassist生成的動態(tài)代理類,當然,它的功能遠不止此,還可以在生產(chǎn)環(huán)境進行診斷,需要的朋友可以參考下
    2022-04-04
  • Mybatis-Plus 自動填充失效問題解決

    Mybatis-Plus 自動填充失效問題解決

    在使用MyBatis-Plus時,自動填充功能可能會失效,這通常與版本和配置有關(guān),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-10-10
  • JAVA設(shè)計模式中的策略模式你了解嗎

    JAVA設(shè)計模式中的策略模式你了解嗎

    這篇文章主要為大家詳細介紹了JAVA設(shè)計模式中的策略模式,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • MybatisPlus特殊查詢的實現(xiàn)介紹

    MybatisPlus特殊查詢的實現(xiàn)介紹

    這篇文章主要介紹了MybatisPlus查詢投影、聚合查詢、分組查詢、等值查詢、范圍查詢、模糊查詢、排序查詢,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2022-10-10
  • 解決Maven依賴沖突的方法

    解決Maven依賴沖突的方法

    本文主要介紹了解決Maven依賴沖突的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-05-05
  • 基于SpringBoot接口+Redis解決用戶重復(fù)提交問題

    基于SpringBoot接口+Redis解決用戶重復(fù)提交問題

    當網(wǎng)絡(luò)延遲的情況下用戶多次點擊submit按鈕導致表單重復(fù)提交,用戶提交表單后,點擊瀏覽器的【后退】按鈕回退到表單頁面后進行再次提交也會出現(xiàn)用戶重復(fù)提交,辦法有很多,我這里只說一種,利用Redis的set方法搞定,需要的朋友可以參考下
    2023-10-10
  • java編程幾行代碼實現(xiàn)買菜自由

    java編程幾行代碼實現(xiàn)買菜自由

    這篇文章主要為大家介紹了java編程幾行代碼實現(xiàn)買菜自由,需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • Java排序算法之堆排思想及代碼實現(xiàn)

    Java排序算法之堆排思想及代碼實現(xiàn)

    今天小編就為大家分享一篇關(guān)于Java排序算法之堆排思想及代碼實現(xiàn),小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01

最新評論