PathMeasure,顾名思义,就是一个用来测量路径的类,主要有以下方法:<人物> 图>
PathMeasure ()
创建一个空的PathMeasure,用这个构造函数可创建一个空的PathMeasure,但是使用之前需要先调用setPath方法来与路径进行关联。被关联的道路必须是已经创建好的,如果关联之后路径内容进行了更改,则需要使用setPath方法重新关联。
有参构造方法
PathMeasure(路径路径,布尔forceClosed)
该构造函数是创建一个PathMeasure并关联一个路径,其实和创建一个空的PathMeasure后调用setPath进行关联效果是一样的,同样,被关联的路径也必须是已经创建好的,如果关联之后路径内容进行了更改,则需要使用setPath方法重新关联。该方法有两个参数,第一个参数自然就是被关联的路径了,第二个参数是用来确保路径闭合,如果设置为真,则不论之前路是否闭合,都会自动闭合该路径(如果路径可以闭合的话)。
这里需要说明以下forceClosed:
1)不论forceClosed设置为何种状态(真实或虚假者),都不会影响原有路径的状态,即路径与PathMeasure关联之后,之前的的路径不会有任何改变。
2) forceClosed的设置状态可能会影响测量结果,如果路径没有闭合但在与PathMeasure关联的时候设置forceClosed为真时,测量结果可能会比路径实际长度稍长一点,获取得到的是该路径闭合时的状态。
<强> setPath 强>
setPath(路径路径,布尔forceClosed)方法就是关联一个路径,需要预先创建好。
<强>关闭强>
关闭方法用于判断路径是否闭合,但是如果你在关联路径的时候设置forceClosed为真正的话,这个方法的返回值则一定为真的。
<强> getLength 强>
getLength()方法用于获取路径的长度。
公开课PathMeasureView扩展视图{ 私有静态最终字符串标签=發wj”; 私人int mViewHeight; 私人int mViewWidth; 私人油漆涂料; 公共PathMeasureView(上下文语境){ 超级(上下文); init(上下文); } 私人空间init(上下文语境){ 涂=new (); paint.setColor (Color.RED); paint.setStyle (Paint.Style.STROKE); paint.setStrokeWidth (10); } @Override 保护空白> setLayerType(视图。LAYER_TYPE_SOFTWARE, null); 路径路径=new路径(); 路径。addRect (-200、-200、200、200、Path.Direction.CW); 路径。addRect (-100、-100、100、100、Path.Direction.CW); PathMeasure测量=new PathMeasure(路径,错误); 浮动长度=measure.getLength ();//获取下一个路径,有可能没有多个路径了,返回错误的 布尔nextContour=measure.nextContour (); 浮动length3=measure.getLength (); 日志。我(“大门”,“length2:“+长度); 日志。我(“大门”、“length3:“+ length3); 画布。drawPath(道路、油漆);<人物> 图>