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

原创 2016年05月31日 20:58:56

许多安卓开发了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);

推荐使用第一种方法。


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

C#版本和.NET版本以及VS版本的对应关系

之所以在这里分享这个对应关系,是因为在C#基础知识系列的文章发布之后,有些初学者对.NET版本和C#语言特性之间的对应关系有点不清楚,有时候会弄混淆了。并且通过这个对应关系,也可以帮助大家对C#和.N...
  • WuLex
  • WuLex
  • 2017-06-20 16:07
  • 1634

pt-table-sync

参考文章:http://blog.csdn.net/shaochenshuo/article/details/53285439 背景:复制环境为多源复制 主1:192.168.102.101:31...

ERROR 1040 (HY000): Too many connections

参考文章:http://www.cnblogs.com/gomysql/p/7284717.html 开发人员反映有一台mysql数据库无法正常连接,于是尝试登录服务器看看能否登录,发现可以登录...

Activity之间传递数据

之前我们使用Intent传递的一般都是基本类型,可是当有需要去传递一个类对象时,比如说,比如说我们将当前Activity中的一个记录用户信息的一个Uer类如何传递呢, 第一种:一般来说,Androi...

spring多个定时器的写法

Sprng定时器我们java开发过程中经常使用,本篇文章给大家推荐的是我自己经常使用的一种,配置简单,书写方便。 废话不多说,直接看步骤:         1、我们首先新建一个applicationt...

CSDN 博客排版技巧

CSDN的博客排版采用的编辑器是xhEditor,官方介绍是:能实现Word代码自动检测并清理,提供高效完美的Word代码过滤方案,生成代码最优化精简,不丢失任何细节效果。但是,实际使用中不丢失任何细...

Action<T>和Func<T>委托数组

C#编程过程中,除了利用delegate定义普通的委托类型以外,还可以利用Action和Func定义委托数组

EOJ 3247 铁路修复计划 (最小生成树+二分)

铁路修复计划 Time limit per test: 2.0 seconds Time limit all tests: 15.0 seconds Memory limit: 256 me...

安卓中进行基于Http协议的网络访问基础总结-2

接着我的第一篇,我们来探讨一下,假如现在你需要登录用户,我们需要对用户的输入信息进行封装并验证,如果符合则令其登陆成功,否则失败。 下面我们看一下如何通过代码去实现。 这里给出两种方法去网络进行验...

spring多数据源的配置和使用

本篇文章为大家讲述我自己配置的双数据源过程,小伙伴们按照步骤一步一步按照文章所说便可完成多数据源的配置 步骤如下: 1:在pom中配置两个数据库的链接信息 dev yyyyMM...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)