2011-09-29 25 views
15

私はアンドロイドでアニメーションを作っていません。私は、アンドロイドで1つのアクティビティから別のアクティビティに切り替える間にアニメーションをしたい。スライダーのように、アクティビティを下から上に切り替えるアニメーションが必要です。Androidでアクティビティを切り替えている間のアニメーション?

は可能ですか?事前

答えて

22

はい可能です。 check out this question.あなたはまた、あなたは同じアニメーション場合を得ることができ、この

overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); 

を使用して別のアクティビティに行くときあなたはあなたのアニメーションを設定することができます

overridePendingTransition(R.anim.slide_in_up, R.anim.slide_out_up); 
1

おかげで別のアクティビティに切り替えるときは、自由のために、本質的に横にアニメーションを取得します。これで十分でしょうか?

+0

どうすればよいですか? –

+1

あなたは...アンドロイドはあなたのためにそれを行いません。 –

+0

しかし、私は横に活動を切り替えるのを見たことがない、私は何が足りないと教えてください –

8

を使用して、現在のアニメーションをオーバライドすることができますよりも、アニメーションフォルダ内のアニメーションを定義する必要がありますあなたはpublic boolean onOptionsItemSelected(MenuItem item)関数をオーバーライドし、uのできる方法

@Override 
    public void onBackPressed() { 
     super.onBackPressed(); 
     overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); 

    } 
+1

あなたは2つの線を切り替える必要があります。 super.onBackPressed()の後にoverridePendingTransitionを呼び出します。 – Randalfien

+0

@Randalfien完了します。ありがとう – Dharmendra

+0

私はなぜ最初に 'super'を呼び出し、' override'だけ後にするべきなのでしょうか?最初の一見から、最初に "オーバーライド"トランジションに論理的であるように見えますし、実際には変更をトリガするのでしょうか? –

0

をオーバーライドすることで、バック最後のアクティビティから、以前の活動に来ますse finish()が続き、overridePendingTransition()が続きます。
たとえば、あなたの活動に次のコードを追加します。

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
    case android.R.id.home: // navigation up. 
     finish(); 
     overridePendingTransition(R.anim.ENTER_ANIMATION, R.anim.EXIT_ANIMATION); 
     return true; 
    case ....: // implementation of other menu items. 
    } 
    return super.onOptionsItemSelected(item); 
} 

他の方法はpublic boolean onNavigateUp()機能を上書きしています。しかし、onNavigateUp()は、APIレベル16以上でのみ使用できます。

関連する問題