魏艷鳴


摘要:隨著3G/4G/5G網絡的發展,越來越多的產業向智能化方向發展,智能交通、智能農業等系統如雨后春筍般出現。在這些系統中必不可少的都有從傳感器中獲取數據這一功能,用圖形化工具顯示這些數據可以達到一目了然的效果。該文淺談Android中使用自定義View畫折線圖顯示數據的應用技巧。
關鍵詞:Android;View;onDraw
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2018)29-0075-02
1 概述
在網絡傳輸速度大大提高的今天,越來越多的產業向智能化方向發展,智能交通、智能農業等系統如雨后春筍般出現,用戶通過手機終端可以使用這些系統。如在智能交通系統中,可以實時查看當前環境的PM2.5值、溫度、路燈強度等數據,這些數據往往通過圖形化工具顯示給用戶,提升了用戶的使用體驗感;本文主要目的是淺談Android中使用自定義View畫折線圖顯示數據的應用技巧。
2 Android中的自定義View
在開發過程中,經常會遇到系統中提供的控件無法滿足產品的設計需求,這時可能就需要考慮使用自定義的View來實現產品的設計了,Android中提供了android.view.View類實現應用程序界面的繪制。自定義View時往往只需重寫兩個函數:onMeasure()、onDraw()。onMeasure負責對當前View的尺寸進行測量,onDraw負責把當前這個View繪制出來,而在繪制圖形圖像時還需要Paint類及Canvas類。
2.1 Paint類
Paint類[1]代表畫筆,用來描述圖形的顏色和風格,如線寬、顏色、透明度和填充效果等信息。使用Paint類時,首先要創建它的實例對象,然后通過該類提供的方法來更改Paint對象的默認設置。Paint類提供的常用方法如表1所示。
下面一段代碼定義了一畫筆,并指定該畫筆的顏色為紅色。
2.2 Canvas類
Canvas類代表畫布,通過使用該類提供的方法,可以繪制各種圖形,如直線、矩形、圓形等。Canvas提供的常用繪圖方法如表2所示。
2.3 自定義View及使用
自定義View視圖時,需要創建一個類繼承View類,添加其構造方法,并重寫其onDraw()方法,如下面代碼所示,在自定義的View中畫一條直線。
4總結
本文利用自定義View實現了簡單的折線圖的畫法,下一步,作者會研究在Android平臺上開源的第三方統計圖表庫,如MPAndroidChart[2]、AChartEngine等,可以繪制樣式復雜、豐富的各種統計圖表,使用第三方插件會簡化畫圖難度。
參考文獻:
[1] 黑馬程序員.Android移動開發基礎案例教程[M].北京:人民郵電出版社,2017:139-146.
[2] Android圖表控件MPAndroidChart的簡單介紹(MPAndroidChart3.0).(2017-08-24).https://blog.csdn.net/ww897532167/article/details/77334345.