Android 淡出背景,然后转到下一个活动
我只是想模仿一些著名的游戏,比如《愤怒的小鸟》,当你开始游戏时,有几个屏幕,闪烁然后消失,然后转到另一个屏幕,消失然后主菜单出现。我该怎么做?目前我的代码是淡入淡出。在实现了下面的代码之后,令人惊讶的是,它没有动画。有什么想法吗,伙计们Android 淡出背景,然后转到下一个活动,android,transitions,Android,Transitions,我只是想模仿一些著名的游戏,比如《愤怒的小鸟》,当你开始游戏时,有几个屏幕,闪烁然后消失,然后转到另一个屏幕,消失然后主菜单出现。我该怎么做?目前我的代码是淡入淡出。在实现了下面的代码之后,令人惊讶的是,它没有动画。有什么想法吗,伙计们 package com.kfc; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.os.Handler;
package com.kfc;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.view.*;
import android.view.animation.Animation;
import android.view.animation.Animation.AnimationListener;
import android.view.animation.AnimationUtils;
import android.widget.LinearLayout;
import android.widget.TextView;
public class Intro extends Activity {
LinearLayout screen;
Handler handler = new Handler();
int i;
Intent intent;
TextView tv;
Animation mAnim;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.introxml);
screen = (LinearLayout) findViewById(R.id.myintro);
Animation fade = AnimationUtils.loadAnimation(this, android.R.anim.fade_in);
fade.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationEnd(Animation animation) {
startActivity(new Intent(Intro.this, NewKFCActivity.class));
Intro.this.finish();
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
}
});
screen.startAnimation(fade);
}
}
这可以通过活动动画来完成 在调用
startActivity
之后,调用
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
第一个参数表示您将要开始的活动将淡入,第二个参数指定当前在前台的活动的淡出动画。这是过度工作的原因-请尝试“活动”#替代“淡出过渡”。在调用startActivity之前提供一个或两个XML alpha动画,您就可以设置:@Jens我编辑了上面的代码。。我想我做了一个错误的实现。。程序在后台停止,并且没有任何淡入淡出。当然跳过线程。2.您有一个可用的
视图
,也有一个屏幕#postDelayed(new Runnable(){..},5000)
,在那里您可以执行#overridePendingTransition(..)
,然后是#run()
Runnable方法中的#startActivity
(无需调用线程#sleep(long)
)@Jens我已经编辑了上面的代码。。但是仍然失败:(嗯,你在运行什么?我尝试了相同的代码,它在两个活动之间消失了,没有问题。你是否在两个活动Activity#onCreate(Bundle)中都添加了日志输出
methods?我编辑了上面的代码..我认为我做了一个错误的实现..程序在后台停止,没有淡入。这并不奇怪-您正在另一个活动的onCreate
方法中启动一个新活动-调用onCreate
时,后一个活动甚至还没有显示。也许您想通过计时器完成吗?我现在很困惑。对不起,我是android的新手。我现在应该把overridePendingTransition放在哪里?这将适用于2.1及以上版本。overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);startActivity(新意图(Intro.this,newkfcativity.class))太奇怪了。你现在在观察什么?