这是我的第一个应用程序,我需要在动画结束时开始新的活动。什么才是我需要做什么?我的code:
包com.lineage.goddess;
进口android.app.Activity;
进口android.content.Intent;
进口android.os.Bundle;
进口android.view.WindowManager;
进口android.view.animation.Animation;
进口android.view.animation.AnimationUtils;
进口android.widget.TextView;
公共类LineageSplashActivity延伸活动{
/ **第一次创建活动时调用。 * /
@覆盖
公共无效的onCreate(包savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.splash);
startAnimation();
getWindow()setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN)。
}
私人无效startAnimation(){
// TODO自动生成方法存根
TextView的LOGO1 =(TextView中)findViewById(R.id.TextView1);
动画fade1 = AnimationUtils.loadAnimation(这一点,R.anim.fade_in);
logo1.startAnimation(fade1);
TextView的LOGO2 =(TextView中)findViewById(R.id.TextView2);
动画fade2 = AnimationUtils.loadAnimation(这一点,R.anim.fade_in);
logo2.startAnimation(fade2);
TextView的logo3 =(TextView中)findViewById(R.id.TextView3);
动画fade3 = AnimationUtils.loadAnimation(这一点,R.anim.fade_in);
logo3.startAnimation(fade3);
TextView的logo4 =(TextView中)findViewById(R.id.TextView4);
动画fade4 = AnimationUtils.loadAnimation(这一点,R.anim.fade_in2);
logo4.startAnimation(fade4);}
公共无效onAnimationEnd(){
意图I =新的意图(LineageSplashActivity.this,LineageMenuActivity.class);
LineageSplashActivity.this.startActivity(ⅰ);
;
}
}
解决方案
设置AnimationListener你要用来启动活动的动画。
myAnimation.setAnimationListener(新AnimationListener(){
公共无效onAnimationStart(动画动画){}
公共无效onAnimationRepeat(动画动画){}
公共无效onAnimationEnd(动画动画){
意图I =新的意图(LineageSplashActivity.this,LineageMenuActivity.class);
LineageSplashActivity.this.startActivity(ⅰ);
}
}
那么,你的code将是这样的:
包com.lineage.goddess;
进口android.app.Activity;
进口android.content.Intent;
进口android.os.Bundle;
进口android.view.WindowManager;
进口android.view.animation.Animation;
进口android.view.animation.AnimationUtils;
进口android.widget.TextView;
公共类LineageSplashActivity延伸活动{
/ **第一次创建活动时调用。 * /
@覆盖
公共无效的onCreate(包savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.splash);
startAnimation();
getWindow()setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN)。
}
私人无效startAnimation(){
// TODO自动生成方法存根
TextView的LOGO1 =(TextView中)findViewById(R.id.TextView1);
动画fade1 = AnimationUtils.loadAnimation(这一点,R.anim.fade_in);
logo1.startAnimation(fade1);
TextView的LOGO2 =(TextView中)findViewById(R.id.TextView2);
动画fade2 = AnimationUtils.loadAnimation(这一点,R.anim.fade_in);
logo2.startAnimation(fade2);
TextView的logo3 =(TextView中)findViewById(R.id.TextView3);
动画fade3 = AnimationUtils.loadAnimation(这一点,R.anim.fade_in);
logo3.startAnimation(fade3);
TextView的logo4 =(TextView中)findViewById(R.id.TextView4);
动画fade4 = AnimationUtils.loadAnimation(这一点,R.anim.fade_in2);
face4.setAnimationListener(新AnimationListener(){
公共无效onAnimationStart(动画动画){}
公共无效onAnimationRepeat(动画动画){}
公共无效onAnimationEnd(动画动画){
意图I =新的意图(LineageSplashActivity.this,LineageMenuActivity.class);
LineageSplashActivity.this.startActivity(ⅰ);
}
}
logo4.startAnimation(fade4);
}
}
This is my first app and i need to start new activity when the animation ends. what do I need to do? My code:
package com.lineage.goddess;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.WindowManager;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.TextView;
public class LineageSplashActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
startAnimation();
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
private void startAnimation() {
// TODO Auto-generated method stub
TextView logo1= (TextView) findViewById(R.id.TextView1);
Animation fade1= AnimationUtils.loadAnimation(this, R.anim.fade_in);
logo1.startAnimation(fade1);
TextView logo2= (TextView) findViewById(R.id.TextView2);
Animation fade2= AnimationUtils.loadAnimation(this, R.anim.fade_in);
logo2.startAnimation(fade2);
TextView logo3= (TextView) findViewById(R.id.TextView3);
Animation fade3= AnimationUtils.loadAnimation(this, R.anim.fade_in);
logo3.startAnimation(fade3);
TextView logo4= (TextView) findViewById(R.id.TextView4);
Animation fade4= AnimationUtils.loadAnimation(this, R.anim.fade_in2);
logo4.startAnimation(fade4);}
public void onAnimationEnd() {
Intent i = new Intent( LineageSplashActivity.this, LineageMenuActivity.class );
LineageSplashActivity.this.startActivity( i );
;
}
}
解决方案
Set an AnimationListener to the animation you want to use to start your Activity.
myAnimation.setAnimationListener(new AnimationListener() {
public void onAnimationStart(Animation animation) {}
public void onAnimationRepeat(Animation animation) {}
public void onAnimationEnd(Animation animation) {
Intent i = new Intent( LineageSplashActivity.this, LineageMenuActivity.class );
LineageSplashActivity.this.startActivity( i );
}
}
So, your code will be like this:
package com.lineage.goddess;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.WindowManager;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.TextView;
public class LineageSplashActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
startAnimation();
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
private void startAnimation() {
// TODO Auto-generated method stub
TextView logo1= (TextView) findViewById(R.id.TextView1);
Animation fade1= AnimationUtils.loadAnimation(this, R.anim.fade_in);
logo1.startAnimation(fade1);
TextView logo2= (TextView) findViewById(R.id.TextView2);
Animation fade2= AnimationUtils.loadAnimation(this, R.anim.fade_in);
logo2.startAnimation(fade2);
TextView logo3= (TextView) findViewById(R.id.TextView3);
Animation fade3= AnimationUtils.loadAnimation(this, R.anim.fade_in);
logo3.startAnimation(fade3);
TextView logo4= (TextView) findViewById(R.id.TextView4);
Animation fade4= AnimationUtils.loadAnimation(this, R.anim.fade_in2);
face4.setAnimationListener(new AnimationListener() {
public void onAnimationStart(Animation animation) {}
public void onAnimationRepeat(Animation animation) {}
public void onAnimationEnd(Animation animation) {
Intent i = new Intent( LineageSplashActivity.this, LineageMenuActivity.class );
LineageSplashActivity.this.startActivity( i );
}
}
logo4.startAnimation(fade4);
}
}