找來找去就發現 ShapeAppearanceModel 可以輕鬆做到!
我用到的有 EdgeTreatment 與 CornerTreatment ,畫邊線與角,要注意若是邊緣不規則的形狀會畫到角落時,角的部分需要用 CornerTreatment 處理,因為他的 path 還是會連回固定的地方,處理不好會有重疊的線條,所以還是有一點侷限在。
陰影的部分在不同的 android 版本設置不同,我是 xml 與程式中都有設定 elevation ,否則有些會吃不到陰影效果!記得要在 parentView 設定 android:clipChildren="false",還有該 view 的 margin。
參考:
https://juejin.cn/post/6893361764399628296