每当键盘连接或从设备分离时,Android 系统都会触发一次配置变更。为确保流畅的用户体验,并在带有可拆卸键盘的大屏设备上最大限度地提高用户工作效率,您的应用需要有效地管理键盘配置变更。
防止键盘变更时重新创建 Activity
为防止您的 Activity 在可拆卸键盘连接或分离时被重新创建,请将与键盘相关的值添加到应用清单的 configChanges
属性中,并向 Activity 的视图层次结构添加一个视图,以便您的应用可以监听配置变更。
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()
: 响应新应用配置传播的方法。
结果
您的应用现在无需重新创建正在运行的 Activity 即可响应外部键盘的连接或分离。
包含此指南的集合
此指南是这些精心策划的快速指南集合的一部分,这些集合涵盖更广泛的 Android 开发目标

针对大屏幕进行优化
让您的应用支持在平板电脑、可折叠设备和 ChromeOS 设备上获得优化的用户体验。
有疑问或反馈意见
前往我们的常见问题页面,了解快速指南,或与我们联系并告知您的想法。