2012-09-17 69 views
0

我在我的活動中使用自定義對話框。我只想設置屏幕的方向,只要對話框顯示在其他地方,屏幕方向可以改變爲縱向,反之亦然。有沒有什麼方法可以在java代碼中專門解決這種特殊情況的方向。修復對話框視圖上屏幕的方向

回答

1
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
//Show dialog here 
//... 
//Hide dialog here 
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR); 
+0

謝謝哥們... –

0

使用android:configChanges =「orientation」,則Android在方向改變時不會重新創建活動。如果你不想讓對話被解散,只需使用Activity.showDialog()方法。如果您仍想使用android:configChanges =「orientation」,則必須在Activity.onConfigurationChanged()方法中手動更改drawable。

2

我們必須在從服務啓動的全屏對話框中執行此操作。

final WindowManager.LayoutParams params = new WindowManager.LayoutParams(WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN); 
params.copyFrom(window.getAttributes()); 
params.width = WindowManager.LayoutParams.MATCH_PARENT; 
params.height = WindowManager.LayoutParams.MATCH_PARENT; 
params.screenOrientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE; 

window.setAttributes(params); 
+0

沒有爲我工作。 –

+0

你試過接受的答案嗎?自2014年以來我沒有編寫Android代碼。 – sent1nel