2017-06-25 2 views
1

J'essaie de mettre en œuvre l'animation shown here. Cela fonctionne bien sauf pour l'animation unreveal, qui montre l'écran noir pendant un moment. Le problème n'existe pas sur tous les appareils/versions api. L'émulateur Genymotion de Google Nexus 10 (API 22) montre le problème.Circular Reveal affiche un fond noir

utilisation Unreveal ensemble complexe d'animations:

  • fondu
  • mise en mouvement
  • CircularReveal avec un rayon d'extrémité inférieur à commencer rayon
  • E.T.C.

J'ai essayé de mettre background/foreground/tint des mises en page @null/@android:color/transparent et E.T.C., mais il ne vous aide pas du tout.

Répondre

1

Le petit problème se produit uniquement avec 3 choses à la fois dans le code:

  • CircularReveal mise en page avec des articles
  • mise en page Fade de CircularReveal ou sa mise en page des enfants
  • mis clipChildren=false sur la mise en page révélant

Je devais utiliser clipChildren pour faire effet de se déplacer CircularReveal cercle avec un contenu stable qui ne bouge pas, sauf pour le bouton de fermeture.

Comme je peux le deviner, le problème était avec l'écrêtage. CircularReveal utiliser l'écrêtage, clipChildren l'utiliser aussi, puis alpha l'a rendu sale (noir). Je ne peux pas comprendre pourquoi cela se produit dans Android SDK, mais j'ai une solution:

désactiver clipChildren (définir true) lorsque vous n'en avez pas besoin. Je l'ai fait sur une animation unreveal. Le résultat est ci-dessous:

post-scriptum Si vous avez une réponse plus spécifique avec des détails sur la cause de la panne, je marquerais volontiers votre réponse comme correcte.

P.P.S. Pour tous ceux qui s'intéressent à l'implémentation de l'animation, shared it here.