Rotation問題
問題:
在Android的系統裡,當Activity在執行的狀態下,旋轉螢幕,系統會將Activity關閉,重新啟動。當這種情形發生時,有可能會造成目前狀態下的資料遺失。
解決方案:
目前提供二種解決方法:
1. 當旋轉事件發生時,利用SharedPreferences物件將參數儲存,然後在重新啟動時再將參數重新導入。
// 偵測旋轉的動作
// 在AndroidiManifest.xml的activity裡加入下面程式碼
AndroidiManifest.xml
<activity
....
android:configChanges="orientation|keyboardHidden"
.....
</activity>
Xxx.java
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (this.getResources().getConfiguration().orientation ==
Configuration.ORIENTATION_LANDSCAPE) {
// 旋轉方向變為landscape時執行
}
else if (this.getResources().getConfiguration().orientation ==
Configuration.ORIENTATION_PORTRAIT) {
// 旋轉方向變為portrait時執行
}
}
2. 將AP的畫面鎖定在同一方向
在AndroidiManifest.xml的activity下加入
AndroidiManifest.xml
<activity
....
android:screenOrientation="portrait"
.....
</activity>
沒有留言:
張貼留言