关闭

由SplashActivity界面跳转到主界面的方法

标签: IntentandroidSplashAnimation
130人阅读 评论(0) 收藏 举报

许多安卓开发了Splash界面后需要跳转到主界面,现有两种常用的方法,方法如下首先给在给Splash添加动画,方法是在res目录下新建一个anim文件夹在里面新建一个xml文件,附上需要给Splash添加的动画事件:

例如:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <alpha 
        android:fromAlpha="0"
        android:toAlpha="1"
        android:duration="2000"
        />  
</set>

然后在SplashActivity文件中添加如下代码,

方法一:就是设置一个监听器去,监听当事件执行结束,跳转页面。

public class SplashActivity extends Activity {

RelativeLayout animContainer;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);

initAnim();
}

/**
* 动画相关
*/
private void initAnim() {
animContainer = (RelativeLayout) findViewById(R.id.rl_splash_animcontainer);
Animation anim = AnimationUtils.loadAnimation(this, R.anim.splash_anim);
animContainer.startAnimation(anim);

anim.setAnimationListener(new AnimationListener() {


@Override
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub

}

@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub

}

@Override
public void onAnimationEnd(Animation animation) {
Intent intent = new Intent(SplashActivity.this,MainActivity.class);
startActivity(intent);
finish();

}
});
}

方法二:就是新启一个Handler对象调用它的相关方法延迟跳转事件的执行,代码如下:

在上面的initAnim()方法中修改成:

Animation anim = AnimationUtils.loadAnimation(this, R.anim.splash_anim);
animContainer.startAnimation(anim);
new Handler().postDelayed(new Runnable() {

@Override
public void run() {
Intent intent = new Intent(SplashActivity.this,MainActivity.class);
startActivity(intent);
finish();
}
}, 3000);

推荐使用第一种方法。


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:984次
    • 积分:61
    • 等级:
    • 排名:千里之外
    • 原创:5篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档