Androidとのアクティビティ間のアニメーション

私はAndroidでアニメーションを理解する必要があります。

例えば、私のアプリケーションは、ボタンをクリックしたときにボタンが下にあるアクティビティから始まります。別のアクティビティが下から上にアニメーションで表示され、ボタンがこの2番目のアクティビティ。

どうすればこれを達成できますか?

ありがとうございました

ダニエレ

ありがとうございました to DecodeGnome for the answer! It works!

しかし、私はこのアクティビティを閉じたいときにアニメーションにいくつかの問題があります。私はanim_out.xmlを作成します:

<?xml version="1.0" encoding="utf-8"?>

<translate
    android:fromXDelta="0%p"
    android:fromYDelta="0%p"
    android:toXDelta="0"
    android:toYDelta="100%p"
    android:duration="300" />
  

これはうまくいきません(overridePendingTransitionの第2引数は何のために使われますか?)。

私はonStop()関数で新しいoverridePendingTransitionを呼び出そうとしています:

public void onStop(){
   super.onStop();
   overridePendingTransition(R.anim.top_to_bottom, R.anim.top_to_bottom);

}

しかし、私が2番目のアクティビティを終了すると、私はまだ左から順にデフォルトのアニメーションが表示されます。

ありがとうございました again to who'll help me.

2
@Override public boolean onKeyDown(int keyCode、KeyEvent event){if(keyCode == KeyEvent.KEYCODE_BACK){finish();これは通常、バックボタンをオーバーライドします。 overridePendingTransition(R.anim.in、R.anim.out);真を返します。 } super.onKeyDown(keyCode、event);を返します。 }
追加された 著者 DecodeGnome,

2 答え

1)resフォルダにanimという名前のフォルダを作成する

2) Add 2 new xml animations there (example, anim_in.xml & anim_out.xml)

3)新しいアクティビティにこのコード行を入れるonCreate:

overridePendingTransition(R.anim.anim_in、R.anim.anim_out);

Anim_in.xmlの例:

<?xml version="1.0" encoding="utf-8"?>


    <translate
        android:fromXDelta="0%p"
        android:fromYDelta="100%p"
        android:toXDelta="0"
        android:toYDelta="0%p"
        android:duration="300" />
 

4)第2アクティビティのレイアウトの上部にボタン(ヘッダ)を配置します。

4
追加された
単に動作しません。
追加された 著者 m0skit0,
私は同じ問題を抱えていましたが、SOに関する他の質問には、startActivity(intent)の直後の行にoverridePendingAnimation()がありました。 3番は他の人が忘れてしまったり外れているような鍵です。
追加された 著者 Mike D,
また、戻るときにアニメーションをオーバーライドすることもできます。インテントを元に戻すときにoverridePendingTransition()を呼び出すだけです。
追加された 著者 DecodeGnome,

このコードを使用します:

     public void onBackPressed() {
        super.onBackPressed();   
        overridePendingTransition(R.anim.top_to_bottom, R.anim.top_to_bottom);
}
1
追加された