Android欢迎页面
相信你已经见过很多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 saveInstanceState){
super.onCreate(saveInstanceState);
//加载启动界面
setContentView(R.layout.activity_launch);
Handler handler = new Handler();
//当计时结束时,跳转至主界面
handler.postDelayed(new Runnable(){
@Override
public void run(){
startActivity(new Intent(LaunActivity.this,MainActivity.class));
LaunchActivity.this.finish();
}
},3000); //持续时间为3秒
}
}
最后对活动进行注册
<application
...>
<activity android:".LaunchActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MainActivity" />
</application>
将LaunchActivity作为首先启动的活动,展示启动图片
将所有用到的Activity都在AndroidMainfest中进行注册