android activity 切换+动画

Activity的切换动画指的是从一个activity跳转到另外一个activity时的动画。
        {它包括两个部分:
        一部分是第一个activity退出时的动画;
        另外一部分时第二个activity进入时的动画;
        在Android的2.0版本之后,有了一个函数来帮我们实现这个动画。这个函数就是YoverridePendingTransition
        j这个函数有两个参数,一个参数是第一个activity退出时的动画,另外一个参数则是第二个activity进入时的动画。
        这里需要特别说明的是,关于overridePendingTransition这个函数,有两点需要主意
        1.它必需紧挨着startActivity()或者finish()函数之后调用"
        2.它只在android2.0以及以上版本上适用

        overridePendingTransition(R.anim.in_from_right, R.anim.out_to_left);

 

但是我真机测试,android4.1 能够实现动画,2.2版本动画没有执行

 

在android2.0中已经可以很简单的实现Activity 之间的动画切换效果。在startActivity 后调用 overridePendingTransition(int enterAnim,int exitAnim),就可以实现Activity之间的动画,
其中enterAnim 是下一个Activity的enter动画效果,exitAnim 是当前Actitvity退出的动画效果

Java代码 复制代码
  1. @Override    
  2. public void onCreate(Bundle savedInstanceState) {    
  3.         super.onCreate(savedInstanceState);     
  4.         setContentView(R.layout.SplashScreen);    
  5.         new Handler().postDelayed(new Runnable() {    
  6.                 @Override    
  7.                 public void run() {    
  8.                         Intent mainIntent = new Intent(SplashScreen.this, AndroidNews.class);    
  9.                         SplashScreen.this.startActivity(mainIntent);    
  10.                         SplashScreen.this.finish();    
  11.                         overridePendingTransition(R.anim.mainfadein,    
  12.                                 R.anim.splashfadeout);    
  13.                 }    
  14.         }, 3000);    


Java代码 复制代码
  1. getWindow (). setWindowAnimations ( int );     
  2. 这可没有上个好但是也可以。 

实现淡入淡出的效果

Java代码 复制代码
  1. overridePendingTransition(Android.R.anim.fade_in,android.R.anim.fade_out);     

由左向右滑入的效果

Java代码 复制代码
  1. overridePendingTransition(Android.R.anim.slide_in_left,android.R.anim.slide_out_right);   


实现zoomin和zoomout,即类似iphone的进入和退出时的效果

Java代码 复制代码
  1. overridePendingTransition(R.anim.zoomin, R.anim.zoomout);     

新建zoomin.xml文件

Java代码 复制代码
  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="2.0" android:toXScale="1.0"   
  5.            Android:fromYScale="2.0" android:toYScale="1.0"   
  6.            Android:pivotX="50%p" android:pivotY="50%p"   
  7.            Android:duration="@android:integer/config_mediumAnimTime" />   
  8. </set>   

新建zoomout.xml文件

Java代码 复制代码
  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="@android:integer/config_mediumAnimTime" />   
  9.     <alpha Android:fromAlpha="1.0" android:toAlpha="0"   
  10.             Android:duration="@android:integer/config_mediumAnimTime"/>   
  11. </set> 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值