Android Activity之间经典切换动画

  1 package com.iteye.androidtoast;

  2  

  3 import java.util.ArrayList;

  4 import java.util.List;

  5  

  6 import android.app.Activity;

  7 import android.content.Intent;

  8 import android.os.Bundle;

  9 import android.view.View;

 10 import android.view.View.OnClickListener;

 11 import android.widget.ArrayAdapter;

 12 import android.widget.Button;

 13 import android.widget.Spinner;

 14  

 15 public class MainActivity extends Activity {

 16  

 17     /** Called when the activity is first created. */

 18     @Override

 19     public void onCreate(Bundle savedInstanceState) {

 20         super.onCreate(savedInstanceState);

 21         setContentView(R.layout.main);

 22  

 23         final Spinner mAnimSp = (Spinner) findViewById(R.id.animation_sp);

 24         Button mButton = (Button) findViewById(R.id.other_button);

 25  

 26         // 通过资源文件获取Spinner填充内容

 27         String[] ls = getResources().getStringArray(R.array.anim_type);

 28         List<String> list = new ArrayList<String>();

 29         // 把数组内容填充 到集合

 30         for (int i = 0; i < ls.length; i++) {

 31             list.add(ls[i]);

 32         }

 33         ArrayAdapter<String> animType = new ArrayAdapter<String>(this,

 34                 android.R.layout.simple_spinner_item, list);

 35         animType.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

 36         mAnimSp.setAdapter(animType);

 37         mAnimSp.setSelection(0);

 38  

 39         mButton.setOnClickListener(new OnClickListener() {

 40             @Override

 41             public void onClick(View v) {

 42                 Intent intent = new Intent();

 43                 intent.setClass(MainActivity.this, OtherActivity.class);

 44                 startActivity(intent);

 45  

 46                 switch (mAnimSp.getSelectedItemPosition()) {

 47                 case 0:

 48                     /*

 49                      * 注意:此方法只能在startActivity和finish方法之后调用。

 50                      * 第一个参数为第一个Activity离开时的动画,第二参数为所进入的Activity的动画效果

 51                      */

 52                     overridePendingTransition(R.anim.fade, R.anim.hold);

 53                     break;

 54                 case 1:

 55                     overridePendingTransition(R.anim.my_scale_action,

 56                             R.anim.my_alpha_action);

 57                     break;

 58                 case 2:

 59                     overridePendingTransition(R.anim.scale_rotate,

 60                             R.anim.my_alpha_action);

 61                     break;

 62                 case 3:

 63                     overridePendingTransition(R.anim.scale_translate_rotate,

 64                             R.anim.my_alpha_action);

 65                     break;

 66                 case 4:

 67                     overridePendingTransition(R.anim.scale_translate,

 68                             R.anim.my_alpha_action);

 69                     break;

 70                 case 5:

 71                     overridePendingTransition(R.anim.hyperspace_in,

 72                             R.anim.hyperspace_out);

 73                     break;

 74                 case 6:

 75                     overridePendingTransition(R.anim.push_left_in,

 76                             R.anim.push_left_out);

 77                     break;

 78                 case 7:

 79                     overridePendingTransition(R.anim.push_up_in,

 80                             R.anim.push_up_out);

 81                     break;

 82                 case 8:

 83                     overridePendingTransition(R.anim.slide_left,

 84                             R.anim.slide_right);

 85                     break;

 86                 case 9:

 87                     overridePendingTransition(R.anim.wave_scale,

 88                             R.anim.my_alpha_action);

 89                     break;

 90                 case 10:

 91                     overridePendingTransition(R.anim.zoom_enter,

 92                             R.anim.zoom_exit);

 93                     break;

 94                 case 11:

 95                     overridePendingTransition(R.anim.slide_up_in,

 96                             R.anim.slide_down_out);

 97                     break;

 98                 }

 99             }

100         });

101     }

102 }

 

你可能感兴趣的:(Activity)