android – 更改CardView阴影颜色
作者:互联网
这个问题在很多时候被问过,但我仍然找不到解决这个问题的好方法.
为什么我需要这样做?好吧因为项目我和我的团队开发有iOS风格.
我尝试了什么?
> 9.pathch shadow generator但9.pathes本质上是pngs,它给了我没有灵活性,如果我将使用这种方法,我应该编辑边缘到处.
> Carbon library它支持自定义阴影,它们被绘制在视图边框之外,但是有关于圆角矩形的issue,当库不为圆角绘制阴影时.
>使用旧的CardView实现并覆盖其阴影颜色,但它被绘制在卡片边界内,因此它不是选项.
那么有没有办法改变CardView的阴影颜色,只需对所有布局文件进行最少的编辑,并在视图外部绘制阴影,就像原始的CardView一样?
解决方法:
在twitter上考虑this thread,Nick Butcher谈到如何实现这个:
有关详细信息,请参见outlineAmbientShadowColor
,outlineSpotShadowColor
,spotShadowAlpha
和ambientShadowAlpha
属性.不幸的是,这可以从API 28开始实现.
对于较低的API,Nick共享了一个gist.结果如下:
在API 21上运行
此技术不直接连接到CardView,它可以应用于任何View.
标签:android,android-cardview,android-view,shadow,android-elevation 来源: https://codeday.me/bug/20190910/1801174.html