(原)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的页面切换效果了.

原文地址:https://www.cnblogs.com/BlogCommunicator/p/4917176.html