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上圖片搜尋來的,若有侵權請告知,
經過2秒後,自動切換
全站熱搜