2015年10月13日 星期二

android 螢幕旋轉時不重新執行onCreate()

預設中, 螢幕旋轉時會重新執行 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 {
        }
}




沒有留言:

張貼留言