Android橫豎螢幕切換
預設情況下,當“螢幕方向”或“鍵盤顯示隱藏”變化時都會銷燬當前Activity,建立新的Activity,如果不希望重新建立Activity例項,可以按如下配置Activity:
<activity android:name=".MainActivity" android.configChanges="keyboardHidden|orientation">
上面的android:configChanges屬性指定了要捕獲“螢幕方向”和“鍵盤顯示隱藏”變化,當捕獲到這些變化後呼叫Activity的onConfigurationChanged()方法。
預設情況下(沒有配置android:configChanges屬性):
豎屏切換橫屏:銷燬當前Activity之後,建立一個新的Activity例項。
橫屏切換豎屏:銷燬當前Activity之後,建立一個新的Activity例項。新的Activity例項很快就會被銷燬,接著又會建立一個新的Activity例項。如果只希望建立一個例項,可以配置
android:configChanges="orientation"
<!-- 主介面 -->
<activity
android:name="com.CopybookMain"
android:label="@string/app_name"
android:screenOrientation="sensorPortrait"
android:configChanges="keyboard|keyboardHidden|screenSize"
android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- 練習 -->
<activity
android:name="com.WriteWord"
android:label="@string/app_name"
android:screenOrientation="sensorPortrait"
android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="com.noahedu.copybook.writeword" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name="com.MainActivity"
android:label="@string/app_name"
android:launchMode="singleTop"
android:screenOrientation="sensorLandscape">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>