(原)android中的動畫(三)之動畫監聽&頁面切換動畫


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的頁面切換效果了.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM