Android模擬器橫屏切換方法

如果android模擬器已經啟動後,可以使用快捷鍵F12或Ctrl+F11來切換。當然是用命令行僅僅啟動模擬器可以使用參數emulator.exe -skin HVGA-L
來啟動。

(還有我發現,我的小鍵盤鎖住的時候,按8然後按7,也橫屏瞭,雖然不知道什麼原因,還是在這裡補充一下)

需要註意的是,程序會重載onCreate,避免的方法可通過androidmanifest.xml文件中重新定義方向,以及根據Activity的重寫onConfigurationChanged(Configuration newConfig)方法來控制。

Activity 的 ConfigChanges 屬性

官方解釋: 通過設置這個屬性可以使Activity捕捉設備狀態變化,以下是可以被識別的內容:

CONFIG_FONT_SCALE
CONFIG_MCC
CONFIG_MNC
CONFIG_LOCALE
CONFIG_TOUCHSCREEN
CONFIG_KEYBOARD
CONFIG_NAVIGATION
CONFIG_ORIENTATION

設置方法:將下列字段用“|”符號分隔開,例如:“locale|navigation|orientation”

Value
Description

“mcc“
The IMSI mobile country code (MCC) has changed — that is, a SIM hasbeen detected and updated the MCC.移動國傢號碼,由三位數字組成,每個國傢都有自己獨立的MCC,可以識別手機用戶所屬國傢。

“mnc“
The IMSI mobile network code (MNC) has changed — that is, a SIM hasbeen detected and updated the MNC.移動網號,在一個國傢或者地區中,用於區分手機用戶的服務商。

“locale“
The locale has changed — for example, the user has selected a new language that text should be displayed in.用戶所在地區發生變化。

“touchscreen“
The touchscreen has changed. (This should never normally happen.)

“keyboard“
The keyboard type has changed — for example, the user has plugged in an external keyboard.鍵盤模式發生變化,例如:用戶接入外部鍵盤輸入。

“keyboardHidden“
The keyboard accessibility has changed — for example, the user has slid the keyboard out to expose it.用戶打開手機硬件鍵盤

“navigation“
The navigation type has changed. (This should never normally happen.)

“orientation“
The screen orientation has changed — that is, the user has rotated the device.設備旋轉,橫向顯示和豎向顯示模式切換。

“fontScale“
The font scaling factor has changed — that is, the user has selected a new global font size.全局字體大小縮放發生改變

1、不設置Activity的android:configChanges時,切屏會重新調用各個生命周期,切橫屏時會執行一次,切豎屏時會執行一次,網上有的說是,切豎屏會執行兩次,我在android2.3的模擬器和2.3手機上都試瞭,隻有一次。但是在android2.2的模擬器上測試瞭,切豎屏的時候,會執行兩次聲明周期。

2、設置Activity的android:configChanges=”orientation”時,切屏還是會重新調用各個生命周期,切橫、豎屏時隻會執行一次,而且,切豎屏的時候,最後還會調用onConfigurationChanged 。模擬器會按照以上說的執行,手機的話,不會執行聲明周期,隻會執行 onConfigurationChanged

3、設置Activity的android:configChanges=”orientation|keyboardHidden”時,切屏不會重新調用各個生命周期,隻會執行onConfigurationChanged方法

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *