CornerPathEffect:
這個類的作用就是將Path的各個連接線段之間的夾角用一種更平滑的方式連接,類似于圓弧與切線的效果。
一般的,通過CornerPathEffect(float radius)指定一個具體的圓弧半徑來實例化一個CornerPathEffect。
DashPathEffect:
這個類的作用就是將Path的線段虛線化。
構造函數為DashPathEffect(float[] intervals, float offset),其中intervals為虛線的ON和OFF數組,該數組的length必須大于等于2,phase為繪制時的偏移量。
DiscretePathEffect:
這個類的作用是打散Path的線段,使得在原來路徑的基礎上發生打散效果。
一般的,通過構造DiscretePathEffect(float segmentLength,float deviation)來構造一個實例,其中,segmentLength指定最大的段長,deviation指定偏離量。
PathDashPathEffect:
這個類的作用是使用Path圖形來填充當前的路徑,其構造函數為PathDashPathEffect (Path shape, float advance, float phase,PathDashPathEffect.Stylestyle)。
shape則是指填充圖形,advance指每個圖形間的間距,phase為繪制時的偏移量,style為該類自由的枚舉值,有三種情況:Style.ROTATE、Style.MORPH和
Style.TRANSLATE。其中ROTATE的情況下,線段連接處的圖形轉換以旋轉到與下一段移動方向相一致的角度進行轉轉,MORPH時圖形會以發生拉伸或壓縮等變形的情況與下一段相連接,TRANSLATE時,圖形會以位置平移的方式與下一段相連接。
ComposePathEffect:
組合效果,這個類需要兩個PathEffect參數來構造一個實例,ComposePathEffect (PathEffect outerpe,PathEffect innerpe),表現時,會首先將innerpe表現出來,然后再在innerpe的基礎上去增加outerpe的效果。
SumPathEffect:
疊加效果,這個類也需要兩個PathEffect作為參數SumPathEffect(PathEffect first,PathEffect second),但與ComposePathEffect不同的是,在表現時,會分別對兩個參數的效果各自獨立進行表現,然后將兩個效果簡單的重疊在一起顯示出來。
關于參數phase
在存在phase參數的兩個類里,如果phase參數的值不停發生改變,那么所繪制的圖形也會隨著偏移量而不斷的發生變動,這個時候,看起來這條線就像動起來了一樣。
按照以上的順序,可以有下面的一種表現效果:
原文鏈接:
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0120/2334.html