2017-06-25 61 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