每當鍵盤連接或拔除裝置時,Android 系統都會觸發設定變更。為提供流暢的使用者體驗,並盡可能提升配備可拆卸式鍵盤的大螢幕裝置使用者工作效率,應用程式必須有效管理鍵盤設定變更。
結果
應用程式會在連接或拔除外接鍵盤時做出回應,不必重新建立正在執行的活動。
避免在鍵盤變更時重建活動
如要防止活動在可拆卸式鍵盤連接或拆卸時重新建立,請將鍵盤相關值新增至應用程式資訊清單的 configChanges
屬性,並在活動的檢視區塊階層中新增檢視區塊,讓應用程式可以監聽設定變更。
1. 宣告 configChanges
屬性
在應用程式資訊清單中更新 <activity>
元素,將 keyboard|keyboardHidden
值新增至已管理的設定變更清單:
<activity
...
android:configChanges="...|keyboard|keyboardHidden">
2. 在檢視區塊階層中新增空白檢視區塊
宣告新檢視區塊,並在檢視區塊的 onConfigurationChanged()
方法中新增處理常式程式碼:
Kotlin
val v = object : View(this) { override fun onConfigurationChanged(newConfig: Configuration?) { super.onConfigurationChanged(newConfig) // Handler code here. } }
Java
View v = new View(this) { @Override protected void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); // Handler code here. } };
重點
android:configChanges
:應用程式資訊清單<activity>
元素的屬性,向系統回報應用程式管理的設定變更。View#onConfigurationChanged()
:這個方法會對新應用程式設定的傳播做出反應。
包含本指南的集合
本指南是精選快速指南系列的一部分,涵蓋更廣泛的 Android 開發目標:

為大螢幕進行最佳化調整
讓應用程式支援平板電腦、折疊式裝置和 ChromeOS 裝置的最佳化使用者體驗。
如有問題或想提供意見
前往常見問題頁面,瞭解快速指南或與我們聯絡,分享您的想法。