2013-07-24 151 views
0

我有一個使用下面的SDK在清單中的應用:防止活動重新啓動旋轉

<uses-sdk 
    android:minSdkVersion="8" 
    android:targetSdkVersion="17" /> 

爲了防止活動從上重新啓動屏幕旋轉我添加到體現:

android:configChanges="orientation|keyboardHidden|screenSize" 

待辦事項我需要覆蓋onConfigurationChanged的活動本身也如下:

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
super.onConfigurationChanged(newConfig); 
setContentView(R.layout.myLayout); 
} 

or is this lin e在清單中就足夠了:

android:configChanges="orientation|keyboardHidden|screenSize" 

任何幫助將不勝感激。

回答

2

的建議爲了防止重新啓動上的活動屏幕旋轉

這通常不是一個好主意。

我添加到體現:android:configChanges="orientation|keyboardHidden|screenSize"

即通常更不是好主意。你所做的就是爲自己創造更多的工作。您仍然必須擁有所有標準配置更改邏輯,才能處理您沒有在此處列出的所有配置更改,您可能需要分別處理這三種情況,您需要

我需要重寫onConfigurationChanged

這取決於基於配置你的UI是否是不同的,因爲你在android:configChanges列出的配置(例如,沒有人像看起來比景觀不同?) 。如果答案爲「是」,那麼是您將修復您的android:configChanges名單中列出的事件UI的位置。如果答案是「否」,那麼您不需要重寫此方法。

0

低於清單一塊你有足以防止旋轉:

android:configChanges="orientation|keyboardHidden|screenSize" 
+0

只是想知道在活動中使用代碼覆蓋onConfigurationChanged的好處,或者當我們需要使用代碼時。 – androidqq6

+0

我現在不記得了,也找不到資源,但我確實知道Google實際上試圖迴避這種方法,並且將它稱爲更多的方法而不是方法,並且應該使用onSavedInstanceState等可能。稍後我會盡力回覆你的具體情況。 – TronicZomB

+0

@TronicZomB不錯,我們會在這裏等待 –