2011-10-28 10 views
2

Androidでアニメーションを理解する必要があります。Androidとアクティビティ間のアニメーション

たとえば、私のアプリケーションは、ボタンをクリックしたときにボタンが付いたアクティビティから始まります。別のアクティビティが下から上へとアニメーションで表示され、ボタンが「ヘッダーこの第二の活動の

これをどのように達成できますか?

は答えをDecodeGnomeをお願いいたしダニエル

あなたに

をありがとうございました!できます! (のために使用されるものoverridePendingTransitionの2番目のパラメータを

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
<translate 
    android:fromXDelta="0%p" 
    android:fromYDelta="0%p" 
    android:toXDelta="0" 
    android:toYDelta="100%p" 
    android:duration="300" /> 
</set> 

が、これは動作しません:

しかし、私はこの活動を閉じたいときに私はアニメーションといくつかの問題を抱えているが、私はanim_out.xmlを作成します?)。

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

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

}

が、私は第二のアクティビティに仕上げを呼び出したときに、左から右へ、私はまだ(デフォルトのアニメーションを見ます)!

もう一度お手伝いしていただきありがとうございます。

+0

、 \t @Override \tパブリックブールにonKeyDown(INTキーコード、のKeyEventイベント){ \t \t IF(のkeyCode == KeyEvent.KEYCODE_BACK){ \t \t \t finish(); \t \t \t \t \t overridePendingTransition(R.anim.in、R.anim。でる); \t \t \t return true; \t \t} \t \t return super.onKeyDown(keyCode、event); \t} – DecodeGnome

答えて

4

1)にこのコード行を置く))、

2)(そこに2つの新しいXMLアニメーションを追加例

3をanim_in.xml & anim_out.xmlをRESフォルダにアニメーションというフォルダを作成します。新しい活動onCreate:

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

Anim_in.xml例:

<?xml version="1.0" encoding="utf-8"?> 
<set 
    xmlns:android="http://schemas.android.com/apk/res/android"> 

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

4)第二の活性のレイアウトの上部にあるボタン(ヘッダ)を配置します。

+0

また、戻ってくるときにアニメーションをオーバーライドすることもできます。インテントを元に戻すときにoverridePendingTransition()を呼び出すだけです。 – DecodeGnome

+1

私は同じ問題を抱えていましたが、SOに関する他の質問には、startActivity(intent)の直後の行にoverridePendingAnimation()がありました。 3番は他の人が忘れてしまったり外れているような鍵です。 –

+0

単に動作しません。 – m0skit0

-1

使用このコード:私は正常に戻るボタンをオーバーライド

 public void onBackPressed() { 
     super.onBackPressed(); 
     overridePendingTransition(R.anim.top_to_bottom, R.anim.top_to_bottom); 
} 
関連する問題