博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 设置启动界面
阅读量:4965 次
发布时间:2019-06-12

本文共 1722 字,大约阅读时间需要 5 分钟。

启动界面的意义是为了让后台处理耗时的复杂工作,当工作处理完成后,即可进入主界面。相比让用户等待布局加载完成,使用一张图片作为启动背景,会带来更好的体验。

首先,需要建立一个简单的布局:

这里我直接把整个布局的背景设为一张图片,这样它能够自适应屏幕的大小。

然后,创建一个 LaunchActivity ,在 AndroidManifest 中注册,让它最先启动:

public class LaunchActivity extends Activity {        @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        //加载启动图片        setContentView(R.layout.activity_launch);        //后台处理耗时任务        new Thread(new Runnable() {            @Override            public void run() {                //耗时任务,比如加载网络数据                runOnUiThread(new Runnable() {                    @Override                    public void run() {                        //跳转至 MainActivity                        Intent intent = new Intent(LaunchActivity.this, MainActivity.class);                        startActivity(intent);                        //结束当前的 Activity                        LaunchActivity.this.finish();                    }                });            }        }).start();    }}

这样,一旦当后台任务处理完毕之后,就会自动进入到软件的主界面中了。

当然,还有一种定时启动主界面,通常用于广告投放。

public class LaunchActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        //加载启动界面        setContentView(R.layout.activity_launch);        Integer time = 2000;    //设置等待时间,单位为毫秒        Handler handler = new Handler();        //当计时结束时,跳转至主界面        handler.postDelayed(new Runnable() {            @Override            public void run() {                startActivity(new Intent(LaunchActivity.this, MainActivity.class));                LaunchActivity.this.finish();            }        }, time);    }}

 

转载于:https://www.cnblogs.com/woider/p/5433420.html

你可能感兴趣的文章
poj1040 Transportation(DFS)
查看>>
ubuntu16.04编译安装mysql5.7
查看>>
JavaScript面向对象之对象的声明、遍历和存储
查看>>
H5离线缓存
查看>>
python&数据分析&数据挖掘--参考资料推荐书籍
查看>>
NODE.JS学习的常见误区及四大名著
查看>>
求第区间第k大数 TLE归并树
查看>>
改Chrome的User Agent,移动版网络
查看>>
命令行java -classpath 的使用
查看>>
springboot+mybatis 用redis作二级缓存
查看>>
AVR 定时器快速PWM模式使用
查看>>
状态压缩 HDU4539 郑厂长系列故事——排兵布阵
查看>>
eclipse连接远程hadoop集群开发时0700问题解决方案
查看>>
《Head First Python》学习笔记 01
查看>>
innodb事务隔离级别
查看>>
python 编码问题随笔
查看>>
WSGI是一种编程接口,而uwsgi是一种传输协议
查看>>
爱可生技术文档
查看>>
vuex 学习 01
查看>>
剧烈变化的移动互联网O2O
查看>>