Android的Activity跳转动画集合

大家使用Android的原生UI都知道,Android的Activity跳转就是很生硬的切换界面。其实Android的Activity跳转可以设置各种动画。下面给大家看看效果:

------>----->

  实现非常简单,用overridePendingtransition(int inId, int outId)即可实现。inId是下一界面进入效果的xml文件的id,outId是当前界面退出效果的xml文件id。

  效果是用xml文件写的,首先要在res文件夹下建立anim文件夹,然后把动画效果xml文件放到里面去。

  下面是放大进入,缩小退出的xml文件:

  zoomin.xml:

[html]  view plain copy
  1. <?xml version="1.0" encoding="utf-8"?>     
  2. <set xmlns:android="http://schemas.android.com/apk/res/android"    
  3.         android:interpolator="@android:anim/decelerate_interpolator">     
  4.     <scale android:fromXScale="0.1" android:toXScale="1.0"    
  5.            android:fromYScale="0.1" android:toYScale="1.0"    
  6.            android:pivotX="50%p" android:pivotY="50%p"    
  7.            android:duration="300" />       
  8.  <!-- 这里为了看到动画演示效果,把动画持续时间设为3秒 -->       
  9.     <alpha      
  10.         android:fromAlpha="0.1"      
  11.         android:toAlpha="1.0"      
  12.         android:duration="300" />                     
  13. </set>    
  zoomout.xml

[html]  view plain copy
  1. <?xml version="1.0" encoding="utf-8"?>   
  2. <set xmlns:android="http://schemas.android.com/apk/res/android"    
  3.         android:interpolator="@android:anim/decelerate_interpolator"    
  4.         android:zAdjustment="top">   
  5.     <scale android:fromXScale="1.0" android:toXScale=".5"    
  6.            android:fromYScale="1.0" android:toYScale=".5"    
  7.            android:pivotX="50%p" android:pivotY="50%p"    
  8.            android:duration="300" />     
  9.                 
  10.            <!-- 系统内置的动画持续时间     
  11.            android:duration="@android:integer/config_mediumAnimTime"      
  12.            -->     
  13.     <alpha android:fromAlpha="1.0" android:toAlpha="0"    
  14.            android:duration="300"/>     
  15. </set>     

  MainActivity.java:

[java]  view plain copy
  1. public class MainActivity extends Activity implements OnClickListener {  
  2.     private Button btn1;  
  3.     private Button btn2;  
  4.     private Button btn3;  
  5.     private Button btn4;  
  6.       
  7.     @Override  
  8.     protected void onCreate(Bundle savedInstanceState) {  
  9.         super.onCreate(savedInstanceState);  
  10.         setContentView(R.layout.activity_1);  
  11.         btn1 = (Button) findViewById(R.id.btn1);  
  12.         btn2 = (Button) findViewById(R.id.btn2);  
  13.         btn3 = (Button) findViewById(R.id.btn3);  
  14.         btn4 = (Button) findViewById(R.id.btn4);  
  15.         btn1.setOnClickListener(this);  
  16.         btn2.setOnClickListener(this);  
  17.         btn3.setOnClickListener(this);  
  18.         btn4.setOnClickListener(this);  
  19.     }  
  20.       
  21.     @Override  
  22.     public void onClick(View v) {  
  23.         // TODO Auto-generated method stub  
  24.         int version =  Integer.valueOf(android.os.Build.VERSION.SDK);  
  25.         switch(v.getId()) {  
  26.         case R.id.btn1:  
  27.             //放大缩小跳转  
  28.             startActivity(new Intent(this, OtherActivity.class));  
  29.             if(version > 5 ){  
  30.                 overridePendingTransition(R.anim.zoomin, R.anim.zoomout);  
  31.             }  
  32.             break;  
  33.         case R.id.btn2:  
  34.             //淡入淡出跳转  
  35.             startActivity(new Intent(this, OtherActivity.class));  
  36.             if(version > 5 ){  
  37.                 overridePendingTransition(R.anim.alphain, R.anim.alphaout);  
  38.             }  
  39.             break;  
  40.         case R.id.btn3:  
  41.             //左向右跳转  
  42.             startActivity(new Intent(this, OtherActivity.class));  
  43.             if(version > 5 ){  
  44.                 overridePendingTransition(R.anim.move_in_right, R.anim.move_out_right);  
  45.             }  
  46.             break;  
  47.         case R.id.btn4:  
  48.             //右向左跳转  
  49.             startActivity(new Intent(this, OtherActivity.class));  
  50.             if(version > 5 ){  
  51.                 overridePendingTransition(R.anim.move_in_left, R.anim.move_out_left);  
  52.             }  
  53.             break;  
  54.         }  
  55.         finish();  
  56.     }  
  57. }  

  还有很多动画效果,就要靠我们发挥自己的想象力,自己去设计,呵呵~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值