每当键盘连接或断开连接到设备时,Android 系统都会触发配置变更。为了确保在配备可拆卸键盘的大屏设备上提供流畅的用户体验并最大限度提高用户工作效率,您的应用需要有效管理键盘配置变更。
防止在键盘更改时重新创建 activity
如需防止在连接或断开可拆卸键盘时重新创建 activity,请将与键盘相关的值添加到应用清单的 configChanges
属性,并将视图添加到 activity 的视图层次结构,以便您的应用可以监听配置变更。
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()
:用于响应新应用配置传播的方法。
结果
您的应用现在会响应外接键盘的连接或断开连接,而无需重新创建正在运行的 activity。
包含本指南的集合
本指南属于以下精选快速入门指南集合,这些指南涵盖了更广泛的 Android 开发目标:
![](https://developer.android.google.cn/static/images/quick-guides/collection-illustration.png?hl=zh-cn)
针对大屏设备进行优化
让您的应用能够在平板电脑、可折叠设备和 ChromeOS 设备上提供优化的用户体验。
有问题或反馈
请访问我们的常见问题解答页面,了解简短指南,或与我们联系,告诉我们您的想法。