Android Elevation 无效分析

1. 控件必须设置背景色,且不能为透明。

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

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

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

5.设置elevation的View最好是ViewGroup子类

记录备忘,后期遇到再补充

Android中的elevation属性用于在视图中实现阴影效果,从而增强UI的层次感和视觉吸引力。这个属性通常应用于Material Design风格的应用中,以模拟现实世界中的光影效果。 ### 如何使用elevation属性 1. **基本用法**: - 你可以在XML布局文件中直接给视图组件添加`android:elevation`属性来设置阴影的高度。例如,为一个按钮设置2dp的阴影: ```xml <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Click Me" android:elevation="2dp" /> ``` - 同样地,你也可以在Java或Kotlin代码中动态设置elevation属性。例如,在Activity中设置一个视图的阴影高度: ```java Button button = findViewById(R.id.my_button); button.setElevation(4f); // 单位是像素 ``` 2. **注意事项**: - elevation的值越大,阴影越明显,但同时也可能影响性能,特别是在低端设备上。因此,合理使用elevation值非常重要。 - 确保你的视图背景不是完全透明的。如果背景是完全透明的,阴影将不会显示。 - 在某些情况下,你可能需要结合使用`translationZ`属性来调整视图在Z轴上的位置,以实现更复杂的视觉效果。 3. **兼容性考虑**: - elevation属性是在API级别21(Lollipop)引入的。如果你的应用需要支持更低版本的Android系统,你可能需要考虑使用第三方库如`CardView`或`MaterialCardView`来模拟阴影效果。 通过合理使用elevation属性,你可以使你的应用界面看起来更加现代和吸引人。不过,也要注意不要过度使用,以免影响应用的性能和用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值