Android_configChanges

Activity需要自己處理的配置項改變。當配置在運行時發生變化的時候,默認是Activity關閉并且重啟,但是,聲明了這個屬性,Activity就不會重啟。

 <activity
        android:name=".MainActivity"
        android:configChanges="fontScale|orientation|keyboardHidden|locale|navigation|screenSize|uiMode"
        android:screenOrientation="portrait" >
描述
"mcc" IMSI移動臺的國家代碼(MCC)發生變化——一個SIM被探測到并且更新MCC。
"mnc" IMSI移動臺的網絡代碼(MNC)發生變化——一個SIM被探測到并且更新MNC。
"locale" 區域發生變化——用戶選擇了一個文本需要顯示的新語言。
"touchscreen" 觸摸屏發生變化。(這個通常不會發生。)
"keyboard" 鍵盤類型發生變化——例如:用戶插入了外接鍵盤。
"keyboardHidden" 鍵盤的可訪問性發生變化——例如:用戶發現了硬件鍵盤。
"navigation" 導航類型(軌跡球或dpad)發生變化。(通常不會發生。)
"screenLayout" 屏幕布局發生變化——這個會導致顯示不同的Activity。
"fontScale" 字體縮放因子發生變化——用戶選擇了新的字體大小。
"uiMode" 當UI模式發生改變的時候——當用戶放置設備到桌子或/汽車或夜間模式改變的時候可以引起UI模式變化。閱讀UiModeManager。在API級別8時引入。
"orientation" 屏幕方向發生變化——用戶旋轉了屏幕。注意:如果應用程序的目標API級別是13或更高(通過屬性minSdkVersion和屬性targetSdkVersion聲明),你也需要聲明配置項screenSize,因為這將在設備選擇肖像和屏幕方向時發生改變。
"screenSize" 當前可用屏幕大小發生變化。這代表一個當前可用大小的變化,和當前的比率相關,因此當用戶選擇不同的畫面和圖像,會發生變化。然而,如果你的程序目標API級別是12或更低,你的Activity總是會自己處理這個配置變化(這個變化不會引起Activity的重啟,甚至在Android 3.2或更新的設備上)。在API級別13里加入的。
"smallestScreenSize" 物理屏幕大小的變化。不管方向的變化,僅僅在實際物理屏幕打包變化的時候,如:外接顯示器。這個配置項的變化引起在smallestWidth configuration里的變化。然而,如果你的程序目標API級別是12或更低,你的Activity將自己處理這個變化(這個變化不會引起Activity的重啟,甚至在Android 3.2或更新的設備上)在API級別13里加入的。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容