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