2013年11月22日 星期五
Android 防止螢幕方向更改時 activity執行onCreate()
第一步防止螢幕旋轉,鎖定在portrait方向
Manifest.xml
<activity
...
android:configChanges="orientation|keyboardHidden|screenSize"
android:screenOrientation="portrait"
...
>
第二步override onConfigurationChanged(),內容放空
第二步非必需但以下情形要
當你在程式中開啟其它activity然後其它activity有旋轉方向!
例如:
開啟相機,然後onActivityResult()取回圖檔
此時因相機旋轉方向且Android釋放記憶activity 跑了Destroy();
此時取回圖檔時會多跑onCreate()!
所以要override onConfigurationChanged(),防止跑onCreate()!
public void onConfigurationChanged(Configuration newConfig){
super.onConfigurationChanged(newConfig);
// Checks the orientation of the screen
if(newConfig.orientation ==Configuration.ORIENTATION_LANDSCAPE){
//Toast.makeText(this,"landscape",Toast.LENGTH_SHORT).show();
}else if(newConfig.orientation ==Configuration.ORIENTATION_PORTRAIT) {
//Toast.makeText(this,"portrait",Toast.LENGTH_SHORT).show();
}
}
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言