2009-08-25 34 views
2

我想展示一個佔用儘可能多屏幕空間的對話框。最大化AlertDialog?

所以,這裏有一個例子:

AlertDialog dialog = new AlertDialog.Builder(ctx)......create(); 
Window w = dialog.getWindow(); 
WindowManager.LayoutParams lp = w.getAttributes(); 
lp.width = 320; 
lp.height = 480; 
w.setAttributes(lp); 

問題是,這不會改變任何事情。爲什麼?

TIA。

+0

我想回答「因爲C#比你更聰明,不會允許它,因爲這是一個愚蠢的事情」,但我認爲解釋是更簡單一些。 :/ – Bombe 2009-08-25 12:00:50

+0

看到標有「Android」的標籤?這意味着Java。在你去侮辱你的人之前,你應該弄清楚你在說什麼。 – MattC 2009-08-25 13:58:34

回答

1

我不知道如何去做正是你想要的東西,但是這不是大多數人打敗了Dialog的目的?爲什麼不只是創建一個自定義Activity並使用Dialog主題,如果你只是想讓它看起來像對話一樣。

+1

由於開銷和事實,這個對話是一個活動的一部分。 – yanchenko 2009-08-28 16:02:52

0

您需要添加minWidth和在了minHeight對話框的XML佈局文件屬性。例如。你的屏幕尺寸是800 * 480,然後設置android:minWidth="800dip"android:minHeight="400dip"