Android開發(fā)自定義實(shí)時(shí)圖表控件實(shí)現(xiàn)示例
概述
有時(shí)我們需要實(shí)時(shí)滾動(dòng)顯示一段時(shí)間的數(shù)據(jù),使用一些圖表框架可能不夠靈活,不能滿足定制化的需求,所以自定義一個(gè)控件,使我們可以為所欲為。
演示
環(huán)境
開發(fā)工具:Android Studio
開發(fā)語(yǔ)言:Kotlin
實(shí)現(xiàn)
第一步:新建項(xiàng)目RealTimeChartDemo
第二步:新建RealTimeChart類
這個(gè)類便是要自定義的控件,需要繼承自View類。
此類中需要重寫 onSizeChanged 和 onDraw方法。
第三步:添加自定義變量
首先需要有控件的寬度和高度
然后需要把要繪制的點(diǎn)在此控件范圍內(nèi),所以需要有轉(zhuǎn)換系數(shù)
然后為了顯示X軸和Y軸的一些標(biāo)簽,需要有邊界的大小
然后為了繪制坐標(biāo)點(diǎn),需要有坐標(biāo)的集合,繪制線(Path)
然后需要有個(gè)中標(biāo)簽,線等等的顏色,樣式,寬度等等Paint
需要定義一個(gè)Point的類
第四步:初始化基礎(chǔ)參數(shù)
初始化Paint的各種參數(shù)
第五步:初始化寬高等參數(shù)
第六步:定義添加坐標(biāo)點(diǎn)方法
第七步:定義坐標(biāo)偏移方法
由于左上下都留出了顯示標(biāo)簽的位置,所以在實(shí)際繪制時(shí)需要進(jìn)行一定的偏移
第八步:定義繪制網(wǎng)格線方法
在繪制網(wǎng)格顯示,順便將Y軸標(biāo)簽一起繪制
第九步:定義繪制X軸標(biāo)簽方法
第十步:定義繪制坐標(biāo)點(diǎn)方法
每次有新點(diǎn)時(shí)都重新繪制圖表,達(dá)到動(dòng)態(tài)滾動(dòng)的效果
第十一步:繪制
在onDraw方法中,添加繪制輔助線和繪制坐標(biāo)點(diǎn)方法
第十二步:在activity_main.xml中使用控件
第十三步:在MainActivity中模擬添加數(shù)據(jù)點(diǎn)
恭喜,現(xiàn)在已經(jīng)實(shí)現(xiàn)了實(shí)時(shí)圖表控件,更多關(guān)于Android自定義實(shí)時(shí)圖表控件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- Android實(shí)現(xiàn)跟隨手指拖動(dòng)并自動(dòng)貼邊的View樣式(實(shí)例demo)
- 使用PlatformView將?Android?控件view制作成Flutter插件
- Android開發(fā)手冊(cè)TextView控件及陰影效果實(shí)現(xiàn)
- Android開發(fā)手冊(cè)自定義Switch開關(guān)按鈕控件
- Android開發(fā)自定義雙向SeekBar拖動(dòng)條控件
- Android開發(fā)手冊(cè)RatingBar星級(jí)評(píng)分控件實(shí)例
- Android?控件自動(dòng)貼邊實(shí)現(xiàn)實(shí)例詳解
相關(guān)文章
android使用gesturedetector手勢(shì)識(shí)別示例分享
這篇文章主要介紹了android使用手勢(shì)識(shí)別的方法,介紹了單擊觸摸屏觸發(fā)的事件和雙擊事件的使用等方法,大家參考使用吧2014-01-01Android實(shí)戰(zhàn)教程第一篇之最簡(jiǎn)單的計(jì)算器
這篇文章主要為大家詳細(xì)介紹了Android實(shí)戰(zhàn)教程第一篇,如何實(shí)現(xiàn)最簡(jiǎn)單的計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11Android SurfaceView與TextureView使用方法詳細(xì)講解
SurfaceView和TextureView都繼承View,與普通的View不同的是,它倆可以在獨(dú)立線程中繪制渲染,性能更高,所以常被應(yīng)用在對(duì)繪制速率要求比較高的場(chǎng)景,比如相機(jī)預(yù)覽,視頻播放等等2022-10-10Android實(shí)現(xiàn)為Notification加上一個(gè)進(jìn)度條的方法
這篇文章主要介紹了Android實(shí)現(xiàn)為Notification加上一個(gè)進(jìn)度條的方法,結(jié)合實(shí)例形式分析了Android針對(duì)Notification組件的相關(guān)操作技巧,需要的朋友可以參考下2016-10-10Android App開發(fā)中自定義View和ViewGroup的實(shí)例教程
這篇文章主要介紹了Android App開發(fā)中自定義View和ViewGroup的實(shí)例教程,分別介紹了進(jìn)度條和圖片上傳并排列的例子,效果很好很強(qiáng)大,需要的朋友可以參考下2016-05-05Android超詳細(xì)講解組件ScrollView的使用
本節(jié)帶來(lái)的是Android基本UI控件中的第十個(gè):ScrollView(滾動(dòng)條),或者我們應(yīng)該叫他?豎直滾動(dòng)條,對(duì)應(yīng)的另外一個(gè)水平方向上的滾動(dòng)條:HorizontalScrollView,先讓我們來(lái)了解ScrollView2022-03-03