自定义Activity间的切换动画
2011-05-31 18:33:50
Android中默认的2个Activity间的切换是左右形式的,你是否已经看的厌烦,或者觉得他不够个性,Android中提供了一种方法,可以自定义这个动画效果;
先看下效果图
产生动画效果主要是这行代码 overridePendingTransition(R.anim.scale, R.anim.alpha);
看代码部分 :
1. 自定义2个Activity 和 2 动画效果
淡入淡出效果 R.anim.alpha
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator"> <alpha android:id="@+id/alpha" android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="2000"/> </set>
放大缩小效果 R.anim.scale
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator"> <scale android:startOffset="2000" android:duration="2000" android:fromXScale="0.0" android:toXScale="1.0" android:fromYScale="0.0" android:toYScale="1.0" android:pivotX="50%" android:pivotY="50%" /> </set>
2.主要代码 MainActivity.java
package com.yin.change; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MainActivity extends Activity { private Button mButton; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mButton = (Button) findViewById(R.id.mButton); mButton.setOnClickListener(new OnClickListener() { public void onClick(View v) { Intent intent = new Intent(); intent.setClass(MainActivity.this, Second.class); startActivity(intent); //添加必须在StartActivity启动之后 //第一个参数为 : 第二个Activity启动时的效果 //第二个参数为 : 第一个Activity退出时的效果 overridePendingTransition(R.anim.scale, R.anim.alpha); } }); } }