編輯:關於Android編程
對於Android應用的Splash啟動畫面,還有第二種方法,就是只用一個Activity,當程序啟動時顯示啟動畫面,當啟動完成時,它就會隱藏起來。
這種方法的優勢在於,因為Splash和主頁面處於同一Activity,就可以利用Splash的時間來預加載數據,這樣用戶就不必在Splash之後再等待數據加載,這樣就可以形成好的用戶體驗。但是,這種方法的缺點也非常明顯,如下:
1、由於處於同一Activity內,除非主體Activity是全屏的,否則沒辦法讓啟動畫面Splash全屏,但是作為一款優秀的應用App來講,一般主體不會是全屏的。
2、邏輯放在一起,難以維護。Splash和主體Activity放在一個Activity中,所有的邏輯都在一個Activity中,如果Splash想做比較好的效果,難以修改和維護。
當然,Android的原生應用中並沒有Splash,而對於這兩種實現方法來講,可以根據我們的要求來進行選擇。下面就是具體的代碼實現:
activity_main.xml代碼:
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;
}
}
Android使用GridView實現日歷功能示例(詳細代碼)
Android使用GridView實現日歷功能示例,代碼有點多,發個圖先:如果懶得往下看的,可以直接下載源碼吧,最近一直有人要,由於時間太久了,懶得找出來整理,今天又看到
Android 百度地圖 SDK v3.0.0 (二) 定位與結合方向傳感器
在上一篇博客中,我們成功把地圖導入了我們的項目。本篇我們准備為地圖添加:第一,定位功能;第二,與方向傳感器結合,通過旋轉手機進行道路的方向確認。有了這兩個功能,地圖已經可
Android自定義狀態欄顏色與APP風格保持一致的實現方法
我們知道iOS上的應用,狀態欄的顏色總能與應用標題欄顏色保持一致,用戶體驗很不錯,那安卓是否可以呢?若是在安卓4.4之前,答案是否定的,但在4.4之後,谷歌允許開發者自定
Android系統的五種數據存儲形式實例(一)
Android系統有五種數據存儲形式,分別是文件存儲、SP存儲、數據庫存儲、contentprovider 內容提供者、網絡存儲。其中,前四個是本地存儲。存儲的類型包括簡