2

私はたくさんの調査を行い、文字通り考えられるすべてを試しました。

基本的に、私は3つの活動をしています

活動 1 -> 活動 2 -> 活動 3

私は、slide_left と slide_right のアニメーション ファイルをセットアップしました。基本的に、ユーザーがクリックしてアクティビティ 2 に移動すると、ページが右からスライドインします。ただし、ユーザーがクリックして戻るとき (アクション バーのホーム ボタン)。反対方向にスライドする必要があります。

アクティビティ 3 に到達し、ユーザーがデバイスを回転させると、スライド アニメーションが間違った方向に進んでいます。=( これは、ユーザーがデバイスを回転させた場合にのみ発生します。

onCreate()

// Override animation so that it animates as a slide in from left
overridePendingTransition(R.anim.slide_left_in, R.anim.slide_left_out);

ユーザーがデバイスを回転させると、アニメーションの変更が失われるようです。

このバグを見つけました: https://code.google.com/p/android/issues/detail?id=25994

誰かが回避策を知っていますか?? これを処理する最良の方法は何ですか??

4

1 に答える 1

1

私はついにこれを理解しました!

onCreate() メソッドで:

// Only run the animation if we are coming from the parent activity, not if 
// we are recreated automatically by the window manager (e.g. device rotation)
if (savedInstanceState == null) {
     // Override animation so that it animates as a slide in from left
     overridePendingTransition(R.anim.slide_left_in, R.anim.slide_left_out);
}

私はこれをテストしましたが、完全に機能します。

参考:https ://www.youtube.com/watch?v=CPxkoe2MraA

于 2015-07-14T21:33:19.120 に答える