問題

我想讓我的應用程式看起來更專業,所以我決定我想製作一個啟動螢幕.

我將如何建立它然後實現它?

  最佳答案

進一步閱讀:

舊答案:

如何: 簡單啟動螢幕

這個答案向您展示瞭如何在應用程式開始時顯示一個固定時間的啟動螢幕,例如品牌化原因.例如,您可能選擇顯示啟動螢幕3秒.但是,如果您想顯示可變時間(例如應用程式啟動時間),您應該檢查Abdullah的答案 https://stackoverflow.com/a/15832037/401025 .但是,意識到應用程式啟動可能在新裝置上非常快,所以使用者只會看到一個錯誤的快閃記憶體UX.

首先,您需要在 layout.xml 檔案中定義 spash 螢幕。

   <?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 android: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>
 

和你的活動:

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

public class Splash extends Activity {

    /** Duration of wait **/
    private final int SPLASH_DISPLAY_LENGTH = 1000;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.splashscreen);

        /* 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);
    }
}
 

那就是所有;)

  相同標籤的其他問題

androidsplash-screen