转载

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

正文到此结束
Loading...