本文主要是介绍Android自定义控件 仪表盘,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Android 自定义View 汽车仪表盘
先上图
步骤:
一、自定义DashBoard 继承View,布局文件全类目写自定义view
二、画大弧
三、画刻度
四、画指针
详解:
一、
public class DashBoard extends View`
布局文件
<myview.DashBoardandroid:id="@+id/dashview"android:layout_width="match_parent"android:layout_height="match_parent" />
二、
定义大弧的缺口角度和半径
private static final int ANGLE = 120;//仪表盘 缺口 弧度
private static final float RADIUS = Utils.dp2px(150);//半径
画弧线需要定义弧线的矩形
在onDraw方法里
//----画弧线----//画弧 useCenter 是否往圆心里画 false就是只画弧线canvas.drawArc(getWidth()/2 -RADIUS, getHeight()/2 - RADIUS, getWidth()/2 + RADIUS, getHeight()/2 +RADIUS,90 + ANGLE/2, 360 - ANGLE, false, paint);
三、画刻度
每一个刻度实际上就是一个小矩形。
通过PathDashPathEffect 画刻度。
每一个刻度有自己单独的坐标
Path dash = new Path();//刻度
dash.addRect(0, 0, Utils.dp2px(2), Utils.dp2px(10), Path.Direction.CW);//每个分割点就是一个矩形,最后一个参数是顺时针//计算总弧形长度 算出平均间隔PathMeasure pathMeasure = new PathMeasure(arc, false);//是否闭合//参数1 刻度本体。 参数2 间隔距离(弧形长度 - 刻度的厚度 然后平均分20分)。参数3 起始第一个距离开头。 参数4 旋转类型e
这篇关于Android自定义控件 仪表盘的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!