首页 > 开发 > Android > 正文

Android 设置欢迎界面

2016-05-18 19:25:08  来源:慕课网
  相信你已经见过很多 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 中进行注册
  动手试一试,说不定你的应用,气质就大不相同了呢。