是的,Android Activity 可以響應(yīng)配置更改。在 Android 應(yīng)用程序中,當設(shè)備的配置發(fā)生變化時(例如屏幕方向、語言、鍵盤可用性等),系統(tǒng)會銷毀并重新創(chuàng)建當前的 Activity 以便加載新的配置。為了確保應(yīng)用程序能夠正確地響應(yīng)這些配置更改,開發(fā)者需要采取一些措施。
在 AndroidManifest.xml 文件中,為 Activity 設(shè)置 configChanges
屬性,以告知系統(tǒng)您希望處理這些配置更改而不是重啟 Activity。例如:
<activity
android:name=".MyActivity"
android:configChanges="orientation|keyboardHidden|screenSize|locale">
</activity>
在這個例子中,我們告訴系統(tǒng),當設(shè)備的方向、鍵盤可用性、屏幕大小或語言發(fā)生變化時,不要重啟 Activity,而是調(diào)用 onConfigurationChanged
方法。然后,在 Activity 中重寫 onConfigurationChanged
方法以處理這些配置更改:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// 處理配置更改,例如更新 UI 或重新加載數(shù)據(jù)
}
請注意,過度使用 configChanges
可能會導(dǎo)致應(yīng)用程序在某些情況下表現(xiàn)不正常。因此,請確保僅在確實需要時使用它,并確保在處理配置更改時正確處理所有相關(guān) UI 和數(shù)據(jù)更新。