魏艳鸣
摘要:随着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.