2017-06-25 119 views
1

我想实现动画shown here。它工作正常,除了未显示的动画,它显示了黑屏一会儿。毛刺不存在于所有设备/ api版本上。 Google Nexus 10(API 22)的Genymotion模拟器确实会显示故障。圆形显示黑色背景

Unreveal使用一套复杂的动画:

  • 褪色
  • 布局与端半径移动
  • CircularReveal小于开始半径
  • e.t.c.

我试图布局background/​​/tint设置为@null/@android:color/transparent和e.t.c.,但它并没有帮助的。

回答

1

毛刺只发生一次与代码3两件事:

  • CircularReveal布局与项目
  • CircularReveal淡出布局或其子布局
  • 设置clipChildren=false上揭示布局

我需要使用clipChildren来生成具有稳定内容的移动CircularReveal圈不要移动,除了关闭按钮。

正如我所能猜到的,问题出在剪切。 CircularReveal使用剪裁,clipChildren也使用它,然后alpha使它变脏(黑色)。我无法理解它为什么会出现在Android SDK中,但我有一个解决方案:

disable clipChildren(请将其设置为true)当您不需要它时。我在未揭示的动画上做过。结果如下:

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

P.P.S. 对于任何对动画实施感兴趣的人,我shared it here