是的,Android Activity 可以响应配置更改。在 Android 应用程序中,当设备的配置发生变化时(例如屏幕方向、语言、键盘可用性等),系统会销毁并重新创建当前的 Activity 以便加载新的配置。为了确保应用程序能够正确地响应这些配置更改,开发者需要采取一些措施。
在 AndroidManifest.xml 文件中,为 Activity 设置 configChanges
属性,以告知系统您希望处理这些配置更改而不是重启 Activity。例如:
<activity
android:name=".MyActivity"
android:configChanges="orientation|keyboardHidden|screenSize|locale">
</activity>
在这个例子中,我们告诉系统,当设备的方向、键盘可用性、屏幕大小或语言发生变化时,不要重启 Activity,而是调用 onConfigurationChanged
方法。然后,在 Activity 中重写 onConfigurationChanged
方法以处理这些配置更改:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// 处理配置更改,例如更新 UI 或重新加载数据
}
请注意,过度使用 configChanges
可能会导致应用程序在某些情况下表现不正常。因此,请确保仅在确实需要时使用它,并确保在处理配置更改时正确处理所有相关 UI 和数据更新。