activity跳转的时候如何实现动画效果

主要代码是通过下面这一行

 //第一个参数为启动另一个activity时动画效果,第二个参数为当前activity退出时动画效果 ,此代码紧跟在startActivity后面。

   overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right); 

下面通过例子来实现:

声明一个MainActivity.java和一个OtherActivity.java,然后从MainActivity跳转到OtherActivity.java

下面是MainActivity.java的代码

package com.example.activityintent;


import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;


public class MainActivity extends Activity {
private Button button;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button=(Button)findViewById(R.id.button);
        button.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				Intent intent=new Intent();
		        intent.setClass(MainActivity.this,OtherActivity.class);
		        startActivity(intent);
		        //第一个参数为启动另一个activity时动画效果,第二个参数为当前activity退出时动画效果  
				//实现淡入淡出的效果		
				//overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);
				//实现由左向右滑入的效果		        
				//overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right); 
			//下面的效果是自己定义的。需要在res/anim文件夹下自己定义zoomin.xml 和zoomout.xml,
		        overridePendingTransition(R.anim.zoomin,R.anim.zoomout);
			}
		});
        
    } 
}


下面是在res/anim文件夹下定义的文件

zoomin.xml

<?xml version="1.0" encoding="utf-8"?>   
<set xmlns:android="http://schemas.android.com/apk/res/android"  
        android:interpolator="@android:anim/decelerate_interpolator">   
    <scale android:fromXScale="2.0" android:toXScale="1.0"  
           android:fromYScale="2.0" android:toYScale="1.0"  
           android:pivotX="50%p" android:pivotY="50%p"  
           android:duration="@android:integer/config_mediumAnimTime" />   
</set> 

zoomout.xml

<?xml version="1.0" encoding="utf-8"?>   
<set xmlns:android="http://schemas.android.com/apk/res/android"  
        android:interpolator="@android:anim/decelerate_interpolator"  
        android:zAdjustment="top">   
    <scale android:fromXScale="1.0" android:toXScale=".5"  
           android:fromYScale="1.0" android:toYScale=".5"  
           android:pivotX="50%p" android:pivotY="50%p"  
           android:duration="@android:integer/config_mediumAnimTime" />   
    <alpha android:fromAlpha="1.0" android:toAlpha="0"  
           android:duration="@android:integer/config_mediumAnimTime"/>   
</set> 

下面还有两个效果忘了是从哪位大神的博客上看的了,一并写在这里了。

fade.xml

<?xml version="1.0" encoding="utf-8"?>  
<alpha xmlns:android="http://schemas.android.com/apk/res/android"  
       android:interpolator="@android:anim/accelerate_interpolator"  
       android:fromAlpha="0.0" android:toAlpha="1.0"  
       android:duration="@android:integer/config_longAnimTime" />   


hold.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"  
       android:interpolator="@android:anim/accelerate_interpolator"  
       android:fromXDelta="0" android:toXDelta="0"  
       android:duration="@android:integer/config_longAnimTime" />  
    




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值