2 つのフラグメントがあり、フラグメントgetView()
コンポーネントで 3D フリップ アニメーションを実行しているこの厄介な問題に遭遇しました。ここで問題が発生します。フリップが完了したら、別のビューを非表示に設定しようとしましたが、何も起こりません。ビューのアニメーションがまだオンになっているようです.IsetAnimation(null)
またはビューの場合clearAnimation
、ビュー全体がリセットされて開始状態になります。
ビューのアルファアニメーションを実行するだけで、少しテストを行いました。その後、ビューの可視性を変更できなくなりました。この種の問題に対する解決策またはハックはありますか?
ありがとう。
問題を再現するための小さなコード スニペットを次に示します。
FragmentonCreateView
が呼び出されてボタンがクリックされると、次のコードが実行されます。
AlphaAnimation fadeHalf = new AlphaAnimation(1, 0.5f);
fadeHalf.setFillAfter(true);
fadeHalf.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
getView().setVisibility(View.GONE);
});
getView().startAnimation(fadeHalf);
したがって、上記のコードを実行すると、フラグメント ビュー全体が 0.5f アルファに変換されますが、setVisilibity(View.GONE)
何もしません。