警告对话框或自定义警告对话框的大小

8

我正在为所有10.1英寸的平板电脑创建我的应用程序,现在我正在尝试在三星Galaxy Tab上测试。

我已经完成了所有部分,但是警告对话框在平板电脑大小方面太小了。

我还创建了自定义警告对话框,但是它看起来不好看。

那么请告诉我,我能否更改默认警告对话框的大小,如果可以,如何更改。

或者

如何创建一个外观类似于默认警告对话框的自定义警告对话框。

谢谢。

1个回答

13
请参考这个 根据Android平台开发者Dianne Hackborn在这个讨论组帖子中的说法,对话框将其窗口的顶级布局宽度和高度设置为WRAP_CONTENT。要使对话框更大,您可以将这些参数设置为FILL_PARENT。
演示代码:
AlertDialog.Builder adb = new AlertDialog.Builder(this);
Dialog d = adb.setView(new View(this)).create();
// (That new View is just there to have something inside the dialog that can grow big enough to cover the whole screen.)

WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
lp.copyFrom(d.getWindow().getAttributes());
lp.width = WindowManager.LayoutParams.MATCH_PARENT;
lp.height = WindowManager.LayoutParams.MATCH_PARENT;
d.show();
d.getWindow().setAttributes(lp);

请注意,属性是在对话框显示后设置的。系统对它们何时设置非常挑剔。(我猜测布局引擎必须在第一次显示对话框时设置它们,或者是其他什么原因。)
最好通过扩展Theme.Dialog来实现此目的,然后您就不必猜测何时调用setAttributes。(虽然让对话框自动采用适当的浅色或深色主题,或Honeycomb Holo主题需要更多的工作。可以根据http://developer.android.com/guide/topics/ui/themes.html#SelectATheme进行操作。)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接