是的,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 和數據更新。