2013年8月30日 星期五

[Android] 手動處理螢幕翻轉


Android系統中,當畫面翻轉時,預設會將Activity重新載入,但每次都重新載入程式效率似乎不太好,且某些情況可能會造成異常發生,如Activity啟動一個Dialog去執行某些操作時,使用者在此時將螢幕翻轉,會造成發生錯誤,要避免此情況,就要手動處理螢幕翻轉,處理步驟如下:


1.在AndroidManifest.xml中,將要處理螢幕翻轉的activity加上以下屬性:
 android:configChanges="screenSize|orientation"

2.在activity增加onConfigurationChanged的Method:
@Override
public void onConfigurationChanged(Configuration newConfig) {
    // TODO Auto-generated method stub
    super.onConfigurationChanged(newConfig);
   /* 處理螢幕翻轉*/
}

設定 android:configChanges="screenSize|orientation"
屬性後,螢幕翻轉後就會載入onConfigurationChanged(),而不會重新載入activity
,而在onConfigurationChanged()中就可以處理螢幕翻轉的事件,若只有 呼叫super.onConfigurationChanged(newConfig); 代表螢幕翻轉後不做任何處理,這樣一來就可以防止螢幕翻轉後,重新載入activity所造成的問題。

沒有留言:

張貼留言