主题:Activity之间经典切换动画效果

没有什么好讲的,先看效果图吧。


主题:Activity之间经典切换动画效果

主要代码:

Java代码 主题:Activity之间经典切换动画效果主题:Activity之间经典切换动画效果主题:Activity之间经典切换动画效果
  1. packagecom.iteye.androidtoast;
  2. importjava.util.ArrayList;
  3. importjava.util.List;
  4. importandroid.app.Activity;
  5. importandroid.content.Intent;
  6. importandroid.os.Bundle;
  7. importandroid.view.View;
  8. importandroid.view.View.OnClickListener;
  9. importandroid.widget.ArrayAdapter;
  10. importandroid.widget.Button;
  11. importandroid.widget.Spinner;
  12. publicclassMainActivityextendsActivity{
  13. /**Calledwhentheactivityisfirstcreated.*/
  14. @Override
  15. publicvoidonCreate(BundlesavedInstanceState){
  16. super.onCreate(savedInstanceState);
  17. setContentView(R.layout.main);
  18. finalSpinnermAnimSp=(Spinner)findViewById(R.id.animation_sp);
  19. ButtonmButton=(Button)findViewById(R.id.other_button);
  20. //通过资源文件获取Spinner填充内容
  21. String[]ls=getResources().getStringArray(R.array.anim_type);
  22. List<String>list=newArrayList<String>();
  23. //把数组内容填充到集合
  24. for(inti=0;i<ls.length;i++){
  25. list.add(ls[i]);
  26. }
  27. ArrayAdapter<String>animType=newArrayAdapter<String>(this,
  28. android.R.layout.simple_spinner_item,list);
  29. animType.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  30. mAnimSp.setAdapter(animType);
  31. mAnimSp.setSelection(0);
  32. mButton.setOnClickListener(newOnClickListener(){
  33. @Override
  34. publicvoidonClick(Viewv){
  35. Intentintent=newIntent();
  36. intent.setClass(MainActivity.this,OtherActivity.class);
  37. startActivity(intent);
  38. switch(mAnimSp.getSelectedItemPosition()){
  39. case0:
  40. /*注意:此方法只能在startActivity和finish方法之后调用。
  41. 第一个参数为第一个Activity离开时的动画,第二参数为所进入的Activity的动画效果*/
  42. overridePendingTransition(R.anim.fade,R.anim.hold);
  43. break;
  44. case1:
  45. overridePendingTransition(R.anim.my_scale_action,
  46. R.anim.my_alpha_action);
  47. break;
  48. case2:
  49. overridePendingTransition(R.anim.scale_rotate,
  50. R.anim.my_alpha_action);
  51. break;
  52. case3:
  53. overridePendingTransition(R.anim.scale_translate_rotate,
  54. R.anim.my_alpha_action);
  55. break;
  56. case4:
  57. overridePendingTransition(R.anim.scale_translate,
  58. R.anim.my_alpha_action);
  59. break;
  60. case5:
  61. overridePendingTransition(R.anim.hyperspace_in,
  62. R.anim.hyperspace_out);
  63. break;
  64. case6:
  65. overridePendingTransition(R.anim.push_left_in,
  66. R.anim.push_left_out);
  67. break;
  68. case7:
  69. overridePendingTransition(R.anim.push_up_in,
  70. R.anim.push_up_out);
  71. break;
  72. case8:
  73. overridePendingTransition(R.anim.slide_left,
  74. R.anim.slide_right);
  75. break;
  76. case9:
  77. overridePendingTransition(R.anim.wave_scale,
  78. R.anim.my_alpha_action);
  79. break;
  80. case10:
  81. overridePendingTransition(R.anim.zoom_enter,
  82. R.anim.zoom_exit);
  83. break;
  84. case11:
  85. overridePendingTransition(R.anim.slide_up_in,
  86. R.anim.slide_down_out);
  87. break;
  88. }
  89. }
  90. });
  91. }
  92. }
package com.iteye.androidtoast; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.Spinner; public class MainActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); final Spinner mAnimSp = (Spinner) findViewById(R.id.animation_sp); Button mButton=(Button) findViewById(R.id.other_button); // 通过资源文件获取Spinner填充内容 String[] ls = getResources().getStringArray(R.array.anim_type); List<String> list = new ArrayList<String>(); // 把数组内容填充 到集合 for (int i = 0; i < ls.length; i++) { list.add(ls[i]); } ArrayAdapter<String> animType = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list); animType.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); mAnimSp.setAdapter(animType); mAnimSp.setSelection(0); mButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(); intent.setClass(MainActivity.this, OtherActivity.class); startActivity(intent); switch (mAnimSp.getSelectedItemPosition()) { case 0: /*注意:此方法只能在startActivity和finish方法之后调用。 第一个参数为第一个Activity离开时的动画,第二参数为所进入的Activity的动画效果*/ overridePendingTransition(R.anim.fade, R.anim.hold); break; case 1: overridePendingTransition(R.anim.my_scale_action, R.anim.my_alpha_action); break; case 2: overridePendingTransition(R.anim.scale_rotate, R.anim.my_alpha_action); break; case 3: overridePendingTransition(R.anim.scale_translate_rotate, R.anim.my_alpha_action); break; case 4: overridePendingTransition(R.anim.scale_translate, R.anim.my_alpha_action); break; case 5: overridePendingTransition(R.anim.hyperspace_in, R.anim.hyperspace_out); break; case 6: overridePendingTransition(R.anim.push_left_in, R.anim.push_left_out); break; case 7: overridePendingTransition(R.anim.push_up_in, R.anim.push_up_out); break; case 8: overridePendingTransition(R.anim.slide_left, R.anim.slide_right); break; case 9: overridePendingTransition(R.anim.wave_scale, R.anim.my_alpha_action); break; case 10: overridePendingTransition(R.anim.zoom_enter, R.anim.zoom_exit); break; case 11: overridePendingTransition(R.anim.slide_up_in, R.anim.slide_down_out); break; } } }); } }资源文件太多不贴了自己下载看吧。希望对你能有点用。