預設中, 螢幕旋轉時會重新執行 onCreate(), 要制止重新執行, 可以有以下兩個方法:
1. 禁止螢幕旋轉
於 AndroidManifest.xml 檔裡, 在 <activity> </activity> 中, 添加一條屬性資訊:
android:screenOrientation="portrait" (強制縱向)
android:screenOrientation="landscape" (強制橫向)
如下:
<activity android:name=".SomeActivity"
android:label="@string/app_name"
android:screenOrientation="portrait">
2. 螢幕旋轉時不重新執行onCreate()
於 AndroidManifest.xml 檔裡, 在 <activity> </activity> 中, 添加一條屬性資訊:
android:configChanges=”orientation|keyboardHidden”
(如API 等級等於或高於13要加 screenSize)
android:configChanges="orientation|keyboardHidden|screenSize”
如下:
<activity android:name=".SomeActivity"
android:label="@string/app_name"
android:configChanges="orientation|keyboardHidden|screenSize">
於 activity 中, 加入
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
}
else {
}
}
沒有留言:
張貼留言