美文网首页Android
View设置阴影

View设置阴影

作者: 独自闯天涯的码农 | 来源:发表于2022-05-11 12:40 被阅读0次

    一、设置阴影

    在 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));// 点阴影
    

    相关文章

      网友评论

        本文标题:View设置阴影

        本文链接:https://www.haomeiwen.com/subject/zqudurtx.html