相信你已经见过很多 APP 启动时都会使用一张图片作为背景,比如微信的启动界面:
这样做的目的主要是展示应用进入动画的同时方便后台加载内容。
相比让用户看着空荡荡的屏幕,准备一些图片无疑会更能吸引他们的注意力。
我将教你如何用最简单的方式去实现这个效果。
首先设计一个布局
<?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>
通常只需要一张图片,越简单,越清晰,越好
然后创建一个活动
public class LaunchActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_launch); //加载启动图片
new Thread(new Runnable() { //开启子线程,后台处理耗时任务
public void run() {
/* 这里运行耗时任务,比如加载网络数据 */
runOnUiThread(new Runnable() { //返回主线程(UI线程)
public void run() {
Intent intent = new Intent(LaunchActivity.this, MainActivity.class);
startActivity(intent); //跳转至 MainActivity
LaunchActivity.this.finish(); //结束当前的 Activity
}
});
}
}).start();
}
}
以这种方式产生的启动界面,会在后台任务处理完成后自动结束,适合数据的加载
public class LaunchActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//加载启动界面
setContentView(R.layout.activity_launch);
Handler handler = new Handler();
//当计时结束时,跳转至主界面
handler.postDelayed(new Runnable() {
@Override
public void run() {
startActivity(new Intent(LaunchActivity.this, MainActivity.class));
LaunchActivity.this.finish();
}
}, 3000); //持续时间为3秒
}
}
以这种方式产生的启动界面,持续时间是稳定的,通常用于放置广告
最后对活动进行注册
<application
. . . >
<activity android:name=".LaunchActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MainActivity">
</activity>
</application>
将 LaunchActivity 作为首先启动的活动,展示启动图片
将所有用到的 Activity 都在 AndroidManifest 中进行注册
动手试一试,说不定你的应用,气质就大不相同了呢。
点击查看更多内容
19人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦