Android Lollipop 上的高程 + 透明度错误

Posted

技术标签:

【中文标题】Android Lollipop 上的高程 + 透明度错误【英文标题】:Elevation + transparency bug on Android Lollipop 【发布时间】:2015-01-13 16:06:37 【问题描述】:

在 API 21 上为具有一些 alpha(例如 #99fe0038)和一些高程的视图使用背景颜色会显示两个圆圈:一个用于视图本身,另一个用于内部:

高度和背景颜色通过代码设置:

view.setElevation(getResources().getDimensionPixelSize(R.dimen.fab_elevation_lollipop));
view.setBackgroundColor(Color.parseColor("#99fe0038"));

不设置高度或使用不透明颜色,一切看起来都像预期的那样。

这是一个 android 错误还是我在这里遗漏了什么?

【问题讨论】:

API 24 和 26(真实设备和模拟器)上仍然发生...这是我发现的与此问题相关的唯一链接,似乎没有人有解决方案...实际上来自你的 GitHub:github.com/makovkastar/FloatingActionButton/issues/41 【参考方案1】:

删除 shadow effect 对我有用。

FAB.setShadow(false);        
FAB.setBackgroundColor(getResources().getColor(R.color.fab_transparent));

【讨论】:

以上是关于Android Lollipop 上的高程 + 透明度错误的主要内容,如果未能解决你的问题,请参考以下文章

如何为 Pre-lollipop 实现 Material-design Elevation

Android 5.0 Lollipop 上的 UnsatisfiedLinkError

Android onChange 事件未在 contentObserver 中触发,用于 android 5 (Lollipop) 上的 chrome 历史记录

Android Lollipop 上的键盘隐藏崩溃

非按钮视图上的 Android 波纹效果 + 高程

Material Design 中呈现的 Android Lollipop 上的半透明渐变状态栏