ActivityとFragmentのターンオーバーアニメーション

2180 ワード

Activityでターンアラウンドアニメーションを設定するには、startActivityとfinishの後、新しいビューを開くか古いビューを閉じるにターンアラウンドアニメーションを追加する必要があります.
これはActivityがoverridePendingメソッドを使用して、入力と出力を設定します.
// acitivity 
startActitivity(MainAcitity.this, NewActivity.class);
overridePendingTransition(R.anim.push_left_in_no_alph,
            R.anim.push_left_out_no_alpha);

// Activity 
finish();
overridePendingTransition(R.anim.push_right_in_no_alpha,
                R.anim.push_right_out_no_alpha);

// 
public void onBackPressed() {
    // TODO Auto-generated method stub
    super.onBackPressed();
    overridePendingTransition(R.anim.push_right_in_no_alpha,
            R.anim.push_right_out_no_alpha);
}

Fragmentの設定はtransactionで行う必要があります.addまたはtransaction.removeの前に.Fragmentには2つの方法があります.androidにはデフォルトの方法とカスタムアニメーションがあります.
// 
transaction = getSupportFragmentManager().beginTransaction();
transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);

// 
transaction.setCustomAnimations(            
            R.anim.push_left_in,
            R.anim.push_left_out,
            R.anim.push_left_in,
            R.anim.push_left_out);

アニメーションファイルの配置位置:res/anim:これはAPI-11以下の互換性があり、4種類の補間アニメーションしかありません
//push_left_in_no_alpha,acitivity alpha 


    


//push_left_out_no_alpha

    


//push_right_in_no_alpha

    


//push_right_out_no_alpha

    


setタグを使用すると、複数のアニメーションを集めて実行したり、alphaなどの単一のアニメーションを自分で選択したりすることができます.