私の質問のタイトルのように、方法は何であり、何setFillBefore()
をsetFillAfter()
すべきですか?
setFillAfter()
アニメーションが完了した後、ビューを永続的に変更することを望んでいましたが、これは正しくありませんか?
私の質問のタイトルのように、方法は何であり、何setFillBefore()
をsetFillAfter()
すべきですか?
setFillAfter()
アニメーションが完了した後、ビューを永続的に変更することを望んでいましたが、これは正しくありませんか?
答えはイエスです、彼らはうまくいきます、おそらくあなたが期待するものではないでしょう-例えば、の説明はsetFillAfter(boolean fillAfter)
言います
fillAfterがtrueの場合、このアニメーションが実行した変換は、終了しても持続します。
trueに設定すると、これが行われます。
ただし、Androidのアニメーションは、意図せずにビュー自体をアニメーション化するのではなく、ビューのビットマップ表現をアニメーション化します。
おそらくあなたが抱えている問題は、アニメーションの後、ビューがアニメーション前の状態に戻ることです。そのような状況では、ビューのプロパティを次のように設定する必要があるため、それsetFillAfter
をsetFillBefore
支援することはできません。アニメーション表現と同じで(これらは別個のものです)、アニメーションプロパティsetFillAfter
にsetFillBefore
のみ適用され、ビュープロパティには適用されません。
それらが存在する理由は、アニメーションを連鎖させるためです。翻訳アニメーションの後にフェードアウトが続くとします。移動アニメーションを設定しなかった場合setFillAfter(true)
、ビューは移動し、元の位置に戻ってからフェードアウトします。移動アニメーションをsetFillAfter(true)
設定すると、ビューが移動し、現在の場所でフェードアウトします。