android - Circular Reveal 显示黑色背景

标签 android animation fade clip circularreveal

我正在尝试实现动画 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/

相关文章:

android - 对齐 LinearLayout 中的元素占用一半的屏幕空间

android - 隐式 Intent 和显式 Intent 之间的区别

android - 使用 libgdx 在 Android/iOS 上开发 2D 游戏需要 Mac?

动态加载图像的Android动画

java - 离开 parent 时Android View 消失

css - 最佳实践(jQuery、CSS): How to initialize hidden elements that will toggle visible?

Android:别名可以用于样式(类似于布局别名)吗?

css - CSS按钮悬停动画是如何工作的?

javascript - 随机淡入淡出多个div

jquery - 显示文本一段时间