2017-06-25 11 views
1

アニメーションshown hereを実装しようとしています。それは瞬時に黒い画面を表示する未公開のアニメーションを除いて正常に動作します。この欠陥は、すべてのデバイス/ APIバージョンに存在するわけではありません。 Google Nexus 10(API 22)のGenymotionエミュレータでは、不具合が示されます。サーキュラーリヴァルは黒い背景を示します

アニメーションのUnreveal使用複合セット:

  • フェード
  • 以下
  • 半径を開始e.t.c.より端半径と
  • CircularRevealを移動レイアウト

私は@null/@android:color/transparentとe.t.c.にレイアウトのbackground/​​/tintを設定しようとしましたが、それは全く役に立ちません。

答えて

1

グリッチはコードのみで一度に3つの事で発生します。アイテムを

  • CircularRevealレイアウトCircularReveal
  • フェードレイアウトや明かすレイアウトにclipChildren=falseを設定
  • その子のレイアウト

私はを安定したコンテンツで動かすためにclipChildrenを使う必要がありました。クローズボタン以外は移動しないでください。

私が推測できるように、問題はクリッピングにありました。 CircularRevealクリッピングを使用すると、clipChildrenも使用され、alphaは汚れています(黒色)。私はAndroid SDKでなぜそれが起こっているのか理解できませんが、解決策があります。必要がないときは、

clipChildrenを無効にしてください(true)。私は未確認のアニメーションでそれをやった。結果は以下の通りです:

P.S. グリッチの原因に関する詳細についてより具体的な回答がある場合、私は喜んで答えを正しいものとしてマークします。

P.P.S. アニメーションの実装に興味のある方は、I shared it hereです。

関連する問題