View设置阴影

一、设置阴影

在 Android 5.0 以后,可以通过 xml 或 Java代码 的方式给 View 添加阴影
// 方式一:xml 设置

android:elevation="10dp"
// 或
android:translationZ="10dp"

// 方式二:java 代码设置

view.setElevation(20);
// 或
view.setTranslationZ(20);

二、更改阴影颜色

在Android Material Design 系统中,存在两个光源,一个是点光源, 一个是环境光,两种光源共同作用,形成view的阴影效果。默认情况下,阴影是黑色的,然而很多时候我们想让阴影颜色与 view 本身的颜色一致,达到更好地视觉效果。Android贴心地考虑到这一点,为我们提供了API:setOutlineAmbientShadowColor和setOutlineSpotShadowColor。开发者可以通过 xml 或 Java 代码改变阴影的颜色

setOutlineAmbientShadowColor
翻译:
1、当view 的Z 值或者 elevation 值为正数时,设置环境阴影颜色
2、默认阴影是黑色、不透明的,因此阴影的强度在不同颜色的不同视图之间是一致的
3、最终环境阴影的不透明度是(阴影投射器高度、outlineAmbientShadowColor的alpha通道(通常为不透明)和R.attr.ambientShadowAlpha 主题属性)的函数
setOutlineSpotShadowColor
1、当view 的Z 值或者 elevation 值为正数时,设置点阴影颜色
2、默认阴影是黑色、不透明的,因此阴影的强度在不同颜色的不同视图之间是一致的
3、最终点阴影的不透明度是(阴影投射器高度、outlineAmbientShadowColor的alpha通道(通常为不透明)和R.attr.ambientShadowAlpha 主题属性)的函数
使用方法:
// 通过xml设置
android:outlineAmbientShadowColor="#FFAAAA" // 环境阴影
android:outlineSpotShadowColor="#BAFDCE" // 点阴影

// 通过代码设置
view.setOutlineAmbientShadowColor(mContext.getResources().getColor(R.color.ambient_shadow_color));// 环境阴影
view.setOutlineSpotShadowColor(mContext.getResources().getColor(R.color.spot_shadow_color));// 点阴影
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容