2011年11月4日 星期五

當Android螢幕轉向的問題

當Android螢幕轉向時(如下)
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

系統都會將當前的Activity關閉並重新開啟。

為了不要讓他重新執行一次,要對AndroidManifest.xml文件做一些修改

AndroidManifest.xml文件
<activity android:name=".Magazine"> 
</activity> 
//修改為:
<activity android:name=".Magazine"   android:configChanges="orientation|keyboard"> </activity>

說明:android:name=".Magazine"  為當前要修改的activty。這樣是讓程序能夠響應旋轉屏幕的事件。


然後重寫onConfigurationChanged方法:
@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
    if(D) Log.d(TAG, "+++ onConfigurationChanged +++");
}


這樣系統就不會關閉重新開啟。

參考網站:
http://www.aslibra.com/blog/post/android-onConfigurationChanged.php
http://tonycube.blogspot.com/2011/10/dont-reload-when-rotate-device.html

沒有留言:

張貼留言