您的位置:首页 > 移动开发

关于打开APP进入欢迎界面后,自动跳到主页面的解决方法

2017-04-03 20:48 981 查看
这个问题很简单,但是之前没有去查找教程,导致自己做了之后一堆莫名其妙的BUG,一开始是直接在欢迎界面定义了一个BUTTON,然后点击该B
4000
UTTON跳转到主界面,但显然这不是我想过要的效果,后面就想到用Handler来实现,然后在OnCreate方法里开一个线程来启动主界面,具体代码如下:加粗的为该方法的核心代码,其他的只是动画效果。
package com.example.grass.intent;

import android.content.Intent;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.AlphaAnimation;
import android.widget.Button;
import android.widget.RelativeLayout;

public class MainActivity extends AppCompatActivity {
private Button btn_1;
private RelativeLayout rl_root; //界面的根布局组件
private Handler handler = new Handler(){
public void handleMessage(Message msg){
Intent it = new Intent();
it.setClass(MainActivity.this,HomeActivity.class);//第一个参数为当前Activity,第二个为将要跳转的Activity
MainActivity.this.startActivity(it);
MainActivity.this.finish();
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
initAnimation();//初始化动画
new Thread(new Runnable() {
@Override
public void run() {
try{
Thread.sleep(3000);
}catch (Exception e){
}handler.sendEmptyMessage(0);}
}).start();
btn_1 = (Button) findViewById(R.id.button);
btn_1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setClass(MainActivity.this,HomeActivity.class);
startActivity(intent);
}
});
}
private void initView() {
setContentView(R.layout.activity_main);
rl_root = (RelativeLayout)findViewById(R.id.rl_splash_root);
//  tv_versionName = (TextView) findViewById(R.id.tv_splash_version_name);
}

//动画显示
private void initAnimation() {
//创建动画,Alpha动画,0.0完全透明,1.0.完全显示
AlphaAnimation aa = new AlphaAnimation(0.0f,1.0f);
aa.setDuration(3000);  //3秒动画播放时间
aa.setFillAfter(true);  //界面停留的动画结束的状态
//显示动画
rl_root.startAnimation(aa);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐