2011-01-30 9 views
5

私はAndroidアプリケーションで2つのアクティビティ間の移行を変更しようとしています。私は、overridePendingTransitionがその仕事をすることに気づいたが、それは私にとってはうまくいかないようだ。 これは、私が働いているコードです:スプラッシュ画面を表示し、ロゴをフェードイン、その後、別のアクティビティに切り替えることになっていますAndroid SDKのoverridePendingTransitionが機能しない

@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.splash); 

    ImageView logo = (ImageView) findViewById(R.id.ImageView01); 
    Animation fade = AnimationUtils.loadAnimation(this, R.anim.fade_in); 

    fade.setAnimationListener(new AnimationListener() { 

    @Override 
    public void onAnimationRepeat(Animation animation) { 
    // TODO Auto-generated method stub 

    } 

    @Override 
    public void onAnimationStart(Animation animation) { 
    // TODO Auto-generated method stub 

    } 

    @Override 
    public void onAnimationEnd(Animation animation) { 
    startActivity(new Intent(FDSplashActivity.this, 
     FDGameActivity.class)); 
    FDSplashActivity.this.finish(); 
      overridePendingTransition(R.anim.fade_in, R.anim.fade_out); 
    } 

    }); 
    logo.startAnimation(fade); 
} 

。これは動作しますが、overridePendingTransition(R.anim.fade_in、R.anim.fade_out);という行は使用できません。 Eclipseでマウスを動かすと、「メソッドoverridePendingTransition(int、int)は、新しいタイプのAnimation.AnimationListener(){}」で定義されていません。

私を助けてください。

答えて

13

overridePendingTransitionはActivityのメソッドです。 finish()への呼び出しと同じように、

FDSplashActivity.this.overridePendingTransition(R.anim.fade_in, R.anim.fade_out); 
+0

ああ、ありがとう。しかし、私はあなたのラインに置き換え、私は依然としてoverridePendingTransitionという単語の下に赤い線が表示されています。私は間違って何をしていますか?間違ったSDKバージョンを使用していますか? –

+3

でした。 EclipseはAndroid 1.6をProject Build Targetとして自動的に選択しました。しかし、代わりに2.1に変更した後、今すぐうまくいく。ありがとう! –

+0

フラグメント内で、 'getActivity()。overridePendingTransition(R.anim.slide_in_left、R.anim.slide_out_right);のように使用してください。 –

関連する問題