PathEffect學(xué)習(xí)鳞滨,Path類是繪畫中常見的一個(gè)類点把,會(huì)根據(jù)特定的路徑繪制圖形钞楼,如果將paint屬性設(shè)置成Stroke,(paint.setStyle(Paint.Style.STROKE))則可以看到一條條線組成的圖形鸿竖。然而這些圖形 看上去往往很單調(diào)煮盼,而且有的時(shí)候我們也需要繪制虛線凄吏,或者由一些小的圖形來(lái)沿著一定的路徑組成圖形远舅,API接口里其實(shí)提供了這個(gè)功能,使用 PathEffect就可以完成這些比較特殊一些的效果痕钢。首先還是看一下PathEffect這個(gè)類:
public class PathEffect {
protected void finalize() throwsThrowable {
nativeDestructor(native_instance);
}
private static native void native Destructor(longnative_patheffect);
longnative_instance;
}
通常使用PathEffect是使用其子類
如ConnerPathEffect(float radious);將連線之間的夾角用平滑的弧線鏈接图柏,radious是弧線的半徑
DashPathEffect(float[] intervals,float offset);float[]數(shù)組的size必須是偶數(shù),如float[]{1,2}則表示畫一格空兩格任连,offset則是表示起始偏移量蚤吹,畫出虛線。
DiscretePathEffect(float segmentLength,float deviation)這是離散路徑效果随抠,第一個(gè)參數(shù)表示離散點(diǎn)的密度裁着,第二個(gè)參數(shù)則是離線點(diǎn)的突出大小,數(shù)值越大突出的越大
PathDashPathEffect(Path shape, float advance, float phase,PathDashPathEffect.Style style)使用固定的圖形來(lái)填充路徑拱她,shape使用的圖形二驰,advance每個(gè)圖形的間距,phase表示繪制圖形時(shí)的偏移量秉沼,style繪制是的風(fēng)格桶雀,有三種Style.ROTATE矿酵、Style.MORPH和Style.TRANSLATE.Style.ROTATE:段連接處的圖形轉(zhuǎn)換以旋轉(zhuǎn)到與下一段移動(dòng)方向相一致的角度進(jìn)行轉(zhuǎn)轉(zhuǎn)。Style.MORPH:圖形會(huì)以發(fā)生拉伸或壓縮等變形的情況與下一段相連接.Style.TRANSLATE:圖形會(huì)以位置平移的方式與下一段相連接矗积。
ComposePathEffect(PathEffect outerpe,PathEffect innerpe):需要兩個(gè)PathEffect實(shí)例全肮,先展示innerpe這個(gè)PathEffect的效果,然后再在innerpe的基礎(chǔ)上去增加outerpe的效果.
SumPathEffect(PathEffect first,PathEffect second):這個(gè)是簡(jiǎn)單的重疊棘捣,先展示first,然后把second展示出來(lái) 簡(jiǎn)單的重疊到一起