Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> [Android學習]Android創建啟動畫面(2)

[Android學習]Android創建啟動畫面(2)

編輯:關於Android編程

對於Android應用的Splash啟動畫面,還有第二種方法,就是只用一個Activity,當程序啟動時顯示啟動畫面,當啟動完成時,它就會隱藏起來。

這種方法的優勢在於,因為Splash和主頁面處於同一Activity,就可以利用Splash的時間來預加載數據,這樣用戶就不必在Splash之後再等待數據加載,這樣就可以形成好的用戶體驗。但是,這種方法的缺點也非常明顯,如下:

1、由於處於同一Activity內,除非主體Activity是全屏的,否則沒辦法讓啟動畫面Splash全屏,但是作為一款優秀的應用App來講,一般主體不會是全屏的。

2、邏輯放在一起,難以維護。Splash和主體Activity放在一個Activity中,所有的邏輯都在一個Activity中,如果Splash想做比較好的效果,難以修改和維護。

當然,Android的原生應用中並沒有Splash,而對於這兩種實現方法來講,可以根據我們的要求來進行選擇。下面就是具體的代碼實現:

activity_main.xml代碼:

 


MainActivity.java代碼:

 

 

package com.ye_yun_lin.startactivity;

import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.os.SystemClock;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.Window;
import android.widget.LinearLayout;
import android.widget.TextView;

public class MainActivity extends Activity {
	private LinearLayout linearLayout;
	private static final int STOPSPLASH=0;
	private static final long SPLASHTIME=1000;
	private Handler splashHandler=new Handler(){

		@Override
		public void handleMessage(Message message) {
			switch (message.what) {
			case STOPSPLASH:
				SystemClock.sleep(4000);
				linearLayout.setVisibility(View.GONE);
				break;

			default:
				break;
			}
			super.handleMessage(message);
		}
		
	};

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		getWindow().requestFeature(Window.FEATURE_NO_TITLE);
		setContentView(R.layout.activity_main);
		
		linearLayout=(LinearLayout)findViewById(R.id.splash);
		
		Message message=new Message();
		message.what=STOPSPLASH;
		splashHandler.sendMessageDelayed(message, SPLASHTIME);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

}


 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved