展会信息港展会大全

Android 技术总结(019)—— Activity之间的切换动画
来源:互联网   发布日期:2016-01-14 10:49:10   浏览:1651次  

导读:[java] package com.xiaoma.betweenactivityanimation; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; /** * @Title: BetweenActivityAnim...

[java]

package com.xiaoma.betweenactivityanimation;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

/**

* @Title: BetweenActivityAnimationDemoActivity.java

* @Package com.xiaoma.betweenactivityanimation

* @Description: Activity之间跳转动画学习如果怕动画太短看不清楚的,

* 可以把动画XML文件里面标签属性 during值设置的长些,吼吼

* @author XiaoMa

*/

public class BetweenActivityAnimationDemoActivity extends Activity implements

OnClickListener {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

init();

}

private void init() {

findViewById(R.id.button1).setOnClickListener(this);

}

@Override

public void onClick(View v) {

if (v.getId() == R.id.button1) {

Intent intent = new Intent(getApplicationContext(),

BetweenActivityAnimationDemoActivity2.class);

startActivity(intent);

/**

* 对下面这个方法的官方解释如下,版本从2.0后开始哦

* Call immediately after one of the flavors of startActivity(Intent) or finish()

* to specify an explicit transition animation to perform next.

* 用工具查到解释为:

*在startActivity(Intent)或finish()之法之后调用后,会立即用一个指定的描述动画的XML文件来执行

*下一个Activity

*

* 下面两句是对这个方法两个参数的解释,在此之前小马也看了下别人讲的,

* 其实是错的,看官方的解释肯定没错,不懂英语的用工具查下

* 小马一直都说的,我英语很烂,我能查的你一定也能查得到

* 1.enterAnimA resource ID of the animation resource

*to use for the incoming activity. Use 0 for no animation.

* 2.exitAnimA resource ID of the animation resource

*to use for the outgoing activity. Use 0 for no animation.

* 一:进入动画一个动画资源,用于目标Activity 进入屏幕时的动画,此处写0代表无动画

* 二:退出动画一个动画资源,用于当前Activity 退出屏幕时的动画,此处写0代表无动画

*

* 这个目标、当前怎么理解?比如:startActivity( A(当前)--> B(目标)) 《finish()一样》

* 下面参数中有一个为0,就表示A退出时无动画...一定把参数搞清楚,不然动画就搞晕了

* overridePendingTransition(R.anim.zoom_enter, 0);

* 方法两个参数与目标、当前Activity对应关系如效果下方绿色图所示

*/

overridePendingTransition(R.anim.zoom_enter, R.anim.zoom_exit);

}

}

/** 列几个安卓自带的动画效果,大家可以把上面 overridePendingTransition参数改下看看效果

*实现淡入淡出的效果

overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);

overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);

由左向右滑入的效果

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

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

*/

}

[java]

package com.xiaoma.betweenactivityanimation;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

public class BetweenActivityAnimationDemoActivity2 extends Activity implements OnClickListener{

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main2);

init();

}

private void init(){

findViewById(R.id.button2).setOnClickListener(this);

}

@Override

public void onClick(View v) {

if(v.getId() == R.id.button2){

Intent i = new Intent(getApplicationContext(),BetweenActivityAnimationDemoActivity3.class);

startActivity(i);

overridePendingTransition(R.anim.hyperspace_in, R.anim.hyperspace_out);

}

}

[java]

package com.xiaoma.betweenactivityanimation;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

public class BetweenActivityAnimationDemoActivity3 extends Activity implements OnClickListener {

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main3);

init();

}

private void init(){

findViewById(R.id.button3).setOnClickListener(this);

}

@Override

public void onClick(View v) {

if(v.getId() == R.id.button3)

{

finish();

//如果这个地方不想用自己的,可以直接调安卓提供的动画,如下:

overridePendingTransition(R.anim.push_left_in, R.anim.push_left_out);

//安卓自带的动画哦,看效果就知道了

//overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);

}

}

}

赞助本站

人工智能实验室

相关热词: android开发 教程

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港