在啟動一個app時常會有一個啟動介面,在ios中直接設定lunch image就行了。不過在android想要實現這種效果就需要代碼人為的設定啦。思路也很簡單,在啟動View只有一張圖,讓其自己休眠2秒左右的時間,然後跳進mianActivity的主介面就可以了。看代碼:
lunch.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="fill_parent" android:layout_width="fill_parent" android:orientation="vertical"> <ImageView android:layout_height="fill_parent" android:layout_width="fill_parent" android:scaleType="fitXY" android:src="@drawable/lunch"> </ImageView></LinearLayout>
lunchView.java
package com.gdou.gxk;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.os.Handler;public class LunchView extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.lunch); Handler x = new Handler(); x.postDelayed(new lunchhandler(), 2000); } class lunchhandler implements Runnable{ public void run() { startActivity(new Intent(getApplication(),LogInView.class)); LunchView.this.finish(); } }}
其中的logInView就是我的程式的主介面啦,這樣就有了如iphone的lunch image的效果,單純只為效果而已。
最後要注意在你的設定檔AndroidManifest中要把初始介面改成lunchView的。這樣就行啦!!!
update:
由於項目中需要lunchView之後的logInView有判斷(如果資料庫有儲存使用者的話直接跳轉到相關的內容)。這時候就有問題啦,出現了在跳轉到內容介面之前會logIn的會先出現,閃一下。(我的判斷是在LoginView的OnCreate中判斷的)。在模擬器運行時,又是1.6的沒有這種情況,2.2 4.0 的都有這種情況。
最終沒辦法,找不出像iphone的在view出來前就做的方法,只能放棄上面所說的方法,採用另外一種給為巧妙的方法:
即lunchImage放在loginView中,只要一張覆蓋整屏的圖片,在“lunch”(睡眠2秒,這裡要使用非同步類,非同步停2秒後回到主線程)之後把image的屬性設為Gone即可。