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 }
原文地址:https://www.cnblogs.com/weizilong/p/3259260.html