2022年11月22日 星期二

Android ShapeAppearanceModel 用法,畫邊線與角

這次遇到的問題是要畫不規則有內凹的 view,但是必須在邊緣有陰影,如果是用canvas 畫,在內凹處會有一個底部的方形的畫面,不符合需求。
找來找去就發現 ShapeAppearanceModel 可以輕鬆做到!

我用到的有 EdgeTreatment 與 CornerTreatment ,畫邊線與角,要注意若是邊緣不規則的形狀會畫到角落時,角的部分需要用 CornerTreatment 處理,因為他的 path 還是會連回固定的地方,處理不好會有重疊的線條,所以還是有一點侷限在。

陰影的部分在不同的 android 版本設置不同,我是 xml 與程式中都有設定 elevation ,否則有些會吃不到陰影效果!記得要在 parentView 設定 android:clipChildren="false",還有該 view 的 margin。


參考:

https://juejin.cn/post/6893361764399628296