1,使用QMUI_Android或MaterialShadows實(shí)現(xiàn)牲迫。
翻看了QMUI_Android和MaterialShadows的源碼,他們陰影的實(shí)現(xiàn)方式都是通過調(diào)用Androdi5.xAPI:setOutlineProvider來實(shí)現(xiàn)。
其中MaterialShadows目前還不支持陰影顏色的變換苫幢,但是對(duì)陰影的角度支持較好。
推薦的解決方案就是把MaterialShadows的源碼放到自己項(xiàng)目中垫挨,然后把以下代碼
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
child.setOutlineAmbientShadowColor(0xffff0000);
child.setOutlineSpotShadowColor(0xffff0000);
}
copy到setOutlineProvider上面(顏色值可以抽出來自己封裝)韩肝,這兩行代碼也就是QMUI支持陰影顏色的原因。但該API只支持Android9以上九榔。
MaterialShadows-ShaowGenerator.java