public void click(View view){ Intent intent = new Intent(); intent.setClass(this, TwoActivity.class); startActivity(intent); overridePendingTransition(R.anim.enter, R.anim.exit); //第一個參數爲第一個Activity離開時的動畫,第二參數爲所進入的Activity的動畫效果,這個方法必須在 startActivity()以後 }
public void click(View view){ Intent intent = new Intent(); intent.setClass(this, TwoActivity.class); startActivity(intent); overridePendingTransition(R.anim.enter, R.anim.exit);//R.anim.exit //第一個參數是進入第2個Activity(即第二個Activity)的動畫,第二個參數是第一個Activity離開時候的動畫(即第一個Activity的動畫) //發現網上不少都是亂說,甚至不對,專門根據 旋轉測試一下效果,發現這兩個動畫是同時執行的,且咱們知道新啓動的Activity是在最上面的,動畫也是在最上面 //overridePendingTransition(0, R.anim.exit);//測試此句發現 沒有任何動畫效果,(其實有,只是咱們看不到) ,0表示無動畫,這段代碼 this.finish()是能夠看到的,注意動畫 只顯示 棧頂那個Activity }
若是上面兩個參數沒有動畫要設置,則用0做爲參數。android
private void addFragment() { if (null == mFragmentManager) { mFragmentManager = getSupportFragmentManager(); } mTextFragmentOne = new MyFragmentOne(); FragmentTransaction fragmentTransaction = mFragmentManager .beginTransaction(); fragmentTransaction.setCustomAnimations( R.anim.push_left_in, R.anim.push_left_out, R.anim.push_left_in, R.anim.push_left_out); fragmentTransaction.add(R.id.container, mTextFragmentOne); fragmentTransaction.addToBackStack(null); fragmentTransaction.commit(); }
例子:ide
4個 Fragment 慢慢滑動的效果測試
FragmentTransaction ft = getFragmentManager().beginTransaction();
//設置進入退出動畫
// transaction.setCustomAnimations(R.anim.fragment_enter,R.anim.fragment_out); // A(fragment)-->B(fragment) enter是B的動畫,out是A的動畫動畫
ft.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right);this
DetailsFragment newFragment = DetailsFragment.newInstance();code
ft.replace(R.id.details_fragment_container, newFragment, "detailFragment");xml
// Start the animated transition.
ft.commit();get
下面是anim目錄下的動畫it
enter_from_left.xmlio
<translate android:fromXDelta="-100%" android:toXDelta="0%" android:fromYDelta="0%" android:toYDelta="0%" android:duration="700"/>
enter_from_right.xml
<translate android:fromXDelta="100%" android:toXDelta="0%" android:fromYDelta="0%" android:toYDelta="0%" android:duration="700" />
enter_from_right.xml
<translate android:fromXDelta="0%" android:toXDelta="-100%" android:fromYDelta="0%" android:toYDelta="0%" android:duration="700"/>
exit_to_right.xml
<translate android:fromXDelta="0%" android:toXDelta="100%" android:fromYDelta="0%" android:toYDelta="0%" android:duration="700" />