close

本篇是將cookiesp大大的文章內碼部份加以描述,透過Android中的『AndroidManifest.xml』檔來設定歡迎畫面,並在歡迎畫面的『Activity.java』檔中經過延遲幾秒後將畫面切換至主畫面。

參考資料:cookiesp痞客邦

 

首先,下列是尚未修改過的『AndroidManifest.xml』檔的內容,程式碼中第11行便是我們主要入口的『MainActivity.java』檔,也就是說App一進入後會從這支java檔開始開始運行,再來我們就要將裡改成我們的『WelcomeActivity.java』,並將原本的『MainActivity.java』修改至下面的位置。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="terence.welcomeactivity" >

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

 


下面的『AndroidManifest.xml』檔是修改過後,將入口的java檔改成我們製作的『WelcomeActivity.java』檔,並將原本的『MainActivity.java』檔新增至下面第20行~23行。這邊要注意的是我們新增的程式碼需要包在『<application></application>』之中。


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="terence.welcomeactivity" >

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".WelcomeActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity
            android:name=".MainActivity"
            android:screenOrientation="portrait" >
        </activity>

    </application>

</manifest>



再來就是我們所寫的『WelcomeActivity.java』檔如何等待數秒鐘後將整個Activity交還給『MainActivity.java』檔

 

package terence.welcomeactivity;

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

public class WelcomeActivity extends Activity{
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.welcome_layout);
        mHandler.sendEmptyMessageDelayed(GOTO_MAIN_ACTIVITY, 2000); //2秒跳轉
    }
    private static final int GOTO_MAIN_ACTIVITY = 0;
    private Handler mHandler = new Handler() {
        public void handleMessage(android.os.Message msg) {

            switch (msg.what) {
                case GOTO_MAIN_ACTIVITY:
                    Intent intent = new Intent();
                    //將原本Activity的換成MainActivity
                    intent.setClass(WelcomeActivity.this, MainActivity.class);
                    startActivity(intent);
                    finish();
                    break;

                default:
                    break;
            }
        }

    };
}

 

下面是執行畫面,由於在Ubuntu系統下作業,改天開windows時再來錄製動態圖。
PS. 圖片是從google上圖片搜尋來的,若有侵權請告知,

welcome   經過2秒後,自動切換   welcome_2  

arrow
arrow
    全站熱搜

    fiend1120 發表在 痞客邦 留言(1) 人氣()