【问题标题】:Circular Reveal shows black background圆形显示显示黑色背景
【发布时间】:2017-06-25 16:07:02
【问题描述】:

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

Unreveal 使用复杂的动画集:

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

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

【问题讨论】:

    标签: android animation fade clip circularreveal


    【解决方案1】:

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

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

    我需要使用clipChildren 来实现移动CircularReveal 圆圈的效果,除了关闭按钮之外,不会移动的稳定内容。

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

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

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

    附言 对于任何对动画实现感兴趣的人,我shared it here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-30
      • 2010-12-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多