浅谈Android PathMeasure详解和应用

  

PathMeasure,顾名思义,就是一个用来测量路径的类,主要有以下方法:<人物>

  

浅谈Android PathMeasure详解和应用“>,</p>
  <p> <>强构造方法</强> </p>
  <p>无参构造方法:</p>
  
  <pre类=   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(道路、油漆);   <人物>   

浅谈Android PathMeasure详解和应用“>,<人物> </图> </p>
  <p> <img src=浅谈Android PathMeasure详解和应用