
正文
Android 设置启动界面
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
启动界面的意义是为了让后台处理耗时的复杂工作,当工作处理完成后,即可进入主界面。相比让用户等待布局加载完成,使用一张图片作为启动背景,会带来更好的体验。
首先,需要建立一个简单的布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/launch"
android:orientation="vertical"></LinearLayout>
这里我直接把整个布局的背景设为一张图片,这样它能够自适应屏幕的大小。
然后,创建一个 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);
}
}







