| Android通過終止、重啟應用程序來重新加載資源文件,以做到對語言、區(qū)域 和硬件實時變化的支持。 
 它的默認的行為不是總是方便和令人滿意的,尤其當配置變化(如屏幕方向和鍵盤可視)、用戶旋轉設備或劃出鍵盤等。你可以通過監(jiān)測和響應定制你 的應用程序來對這些變化作出響應。 
 為了能讓Activity能監(jiān)聽實時的配置變化,需要在manifest節(jié)點里添加“android:configChanges”特性,指定你要處理的配置變化事件。 
 接下來的列表給出了你可以指定的配置變化的事件值: 
 ? orientation 屏幕在縱向和橫向間旋轉。 ? keyboardHidden 鍵盤顯示或隱藏。 ? fontScale 用戶變更了首選的字體大小。 ? locale 用戶選擇了不同的語言設定。 ? keyboard 鍵盤類型變更,例如手機從12鍵盤切換到全鍵盤 ? touchscreen或navigation 鍵盤或導航方式變化,一般不會發(fā)生這樣的事件。 
 你可以選擇捕獲多個事件,通過在各事件值間使用“|”。 
 接下來的代碼片段顯示了Activity要捕獲屏幕方向和鍵盤可視的事件: 
 
 
 增加這個特性就會強制應用程序在指定的配置變化時不用再重新啟 動,而是觸發(fā)Activity中的onConfigurationChanged方法。如下 面的代碼片段所示,override這個方法去捕獲配置變化,通過傳入的 Configuration 對象的值進行合適的處理。需要提醒的是需要調用父類的方法,并且要重新加載Activity使用的資源,以防有變更。 
 
 
 當onConfigurationChanged 被調用時,Activity的資源變量都已經(jīng)用新的值進行了更新,所以它們是安全的。 
 任何你沒有顯式指明的配置變化事件,都將由應用程序捕獲,而且仍然會引起應用程序的重啟,而不會調用 onConfigurationChanged 方法。 | 
|  |