Android Elevation 无效分析

  • 摘要:1.控件必须设置背景色,且不能为透明。2.阴影是绘制于父控件上的,所以控件与父控件的边界之间需有足够空间绘制出阴影才行。3.有网友提出图片尽量使用.png,防止图片过大导致oom或者elevation失效4.经过本人测试,除了上述原因外,还有:background是图片时、background直接设置具体颜色值时容易无效如:#ffaacc,background是shape时效果最好记录备忘,后期遇到再补充
  • 1. 控件必须设置背景色,且不能为透明。

    2. 阴影是绘制于父控件上的,所以控件与父控件的边界之间需有足够空间绘制出阴影才行。

    3. 有网友提出图片尽量使用.png, 防止图片过大导致oom或者elevation失效

    4. 经过本人测试,除了上述原因外,还有:background是图片时、background直接设置具体颜色值时容易无效如:#ffaacc,background是shape时效果最好

  • 我这儿遇到问题的原因是关闭了硬件减速导致的,即在manifest文件中application节点下设置了android:hardwareAccelerated=”false” 
    Android Elevation 无效分析_第1张图片

默认情况下,阴影是由background提供的,如果控件没有设置background,则需要加上 

android:outlineProvider="bounds"

你可能感兴趣的:(android)