如何在Android中添加首次加载的屏幕?

Ano*_*use 0 android install splash-screen

如何在安装后第一次启动应用程序时添加显示的启动画面. 像是如何使用指南.

Oma*_*hat 7

首先,您需要在layout.xml文件中定义启动画面

<?xml version="1.0" encoding="utf-8"?>
  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:orientation="vertical" android:layout_width="fill_parent"
          android:layout_height="fill_parent">

          <ImageView id="@+id/splashscreen" android:layout_width="wrap_content"
                  android:layout_height="fill_parent"
                  android:src="@drawable/splash"
                  android:layout_gravity="center"/>

          <TextView android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:text="Hello World, splash"/>

  </LinearLayout>
Run Code Online (Sandbox Code Playgroud)

和你的活动,看看它是否是第一次运行:

    public class FirstTimeRun extends Activity {
        public static String prefName = "Random";
        SharedPreferences prefs;
    @Override
        protected void onCreate(Bundle arg0) {
            // TODO Auto-generated method stub
            super.onCreate(arg0);
        prefs = getSharedPreferences(prefName, MODE_PRIVATE);
        if (prefs.getString("FirstTime", true) == true){
        Intent i = new Intent(FirstTimeRun.this, Splash.class);
        startActivity(i);
}else{
//start another Activity
}
}
Run Code Online (Sandbox Code Playgroud)

飞溅类:

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;

public class Splash extends Activity {

    private final int SPLASH_DISPLAY_LENGTH = 1000;
        public static String prefName = "Random";
    SharedPreferences prefs;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.splashscreen);
        prefs = getSharedPreferences(prefName, MODE_PRIVATE);
        Editor edito = prefs.edit();
        edito.putString("FirstTime", false);
        edito.commit();
        /* New Handler to start the Menu-Activity 
         * and close this Splash-Screen after some seconds.*/
        new Handler().postDelayed(new Runnable(){
            @Override
            public void run() {
                /* Create an Intent that will start the Menu-Activity. */
                Intent mainIntent = new Intent(Splash.this,Menu.class);
                Splash.this.startActivity(mainIntent);
                Splash.this.finish();
            }
        }, SPLASH_DISPLAY_LENGTH);
    }
}
Run Code Online (Sandbox Code Playgroud)

就这样 ;)