1.動畫也可以設置監聽事件,例如在動畫結束時需要執行某操作
把要執行的代碼寫在onAnimationEnd()回調方法中即可:
anim.setAnimationListener(new AnimationListener() { @Override public void onAnimationStart(Animation animation) { } @Override public void onAnimationRepeat(Animation animation) { } @Override public void onAnimationEnd(Animation animation) { //doSomething(); } }); }
2.頁面切換動畫
當我們需要帶有動畫地從一個activity切換到另一個activity時,可能需要用到下面這個函數
overridePendingTransition(int inAnimId,int outAnimId);
其中兩個int參數分別是下個頁面進入的動畫xml文件和本頁面退出的動畫xml文件
這兩個文件可以使用系統自帶的,例如android.R.anim.slide_in_left, android.R.anim.slide_out_right
或者也可以自定義xml文件,例如:
進入動畫(go_right.xml):
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:duration="2000" android:fromXDelta="100%p" android:toXDelta="0" /> </set>
退出動畫(go_left.xml):
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:duration="2000" android:fromXDelta="0" android:toXDelta="-100%p" /> </set>
跳轉頁面的代碼這樣寫:
public void next(View v) { Intent intent = new Intent(this, SecondActivity.class); startActivity(intent); overridePendingTransition(R.anim.go_right, R.anim.go_left); }
這樣就可以實現類似viewPager的頁面切換效果了.