我正在尝试实现动画 shown here .它工作正常,除了 unreveal 动画,显示黑屏片刻。并非所有设备/api 版本都存在该故障。 Google Nexus 10 (API 22) 的 Genymotion 模拟器确实显示了故障。
Unreveal 使用复杂的动画集:
- 淡出
- 布局移动
- 结束半径小于起始半径的 CircularReveal
- 等
我尝试将布局的 background
/foreground
/tint
设置为 @null
/@ android:color/transparent
和 e.t.c.,但它根本没有帮助。
最佳答案
故障仅在代码中同时发生 3 件事时发生:
CircularReveal
项目布局CircularReveal
或其子布局的淡化布局- 在显示布局上设置
clipChildren=false
我需要使用 clipChildren
来制作移动 CircularReveal
圆圈的效果,其中稳定的内容不会移动,关闭按钮除外。
我猜,问题出在裁剪上。 CircularReveal
使用裁剪,clipChildren
也使用它,然后 alpha
使其变脏(黑色)。我无法理解为什么它会在 Android SDK 中发生,但我有一个解决方案:
在不需要时禁用clipChildren
(将其设置为true
)。我是在未公开的动画上做的。结果如下:
附言 如果您有更具体的答案并详细说明故障原因,我很乐意将您的答案标记为正确答案。
附言 对于任何对动画实现感兴趣的人,我 shared it here .
关于android - Circular Reveal 显示黑色背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44748155/