1

我正在尝试实现此处显示的动画。它工作正常,除了 unreveal 动画,它显示片刻黑屏。并非所有设备/api 版本都存在故障。Google Nexus 10 (API 22) 的 Genymotion 模拟器确实显示了故障。

Unreveal 使用复杂的动画集:

  • 褪色
  • 布局移动
  • 结束半径小于开始半径的 CircularReveal
  • ETC

我试图将布局设置为background/等foreground,但它根本没有帮助。tint@null@android:color/transparent

4

1 回答 1

3

故障仅在代码中同时发生 3 件事:

  • CircularReveal带有项目的布局
  • 淡入淡出布局CircularReveal或其子布局
  • 设置clipChildren=false在显示布局

我需要用它来制作具有稳定内容clipChildren的移动圆圈的效果,除了关闭按钮之外。CircularReveal

我可以猜到,问题出在剪辑上。CircularReveal使用剪辑,clipChildren也使用它,然后alpha将其弄脏(黑色)。我无法理解为什么它会在 Android SDK 中发生,但我有一个解决方案:

不需要时禁用clipChildren(设置它)。true我是在 unreveal 动画上做到的。结果如下:

PS如果您有更具体的答案以及有关故障原因的详细信息,我很乐意将您的答案标记为正确答案。

PPS 对于任何对动画实现感兴趣的人,我在这里分享了它

于 2017-06-25T16:07:02.280 回答