每次將鍵盤連接或卸除裝置時,Android 系統都會觸發設定變更。為了確保流暢的使用者體驗,並在配備可拆式鍵盤的大螢幕裝置上盡可能提高使用者的工作效率,應用程式需要有效管理鍵盤設定變更。
避免在鍵盤變更時重建活動
如要避免在可拆卸式鍵盤連接或解除連接時重新建立活動,請將鍵盤相關值新增至應用程式資訊清單的 configChanges
屬性,並在活動的檢視區塊階層中新增檢視畫面,以便應用程式聆聽設定變更。
1. 宣告 configChanges
屬性
將 keyboard|keyboardHidden
值新增至已管理的設定變更清單,藉此更新應用程式資訊清單中的 <activity>
元素:
<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 開發目標:
![](https://developer.android.google.cn/static/images/quick-guides/collection-illustration.png?hl=zh-tw)
針對大螢幕進行最佳化
讓應用程式支援平板電腦、折疊式裝置和 ChromeOS 裝置的最佳使用者體驗。
有問題或意見回饋嗎?
請前往常見問題頁面,瞭解快速指南或與我們聯絡,分享您的想法。