如何使警报对话框填充90%的屏幕大小?

如何使警报对话框填充90%的屏幕大小?

我可以创建并显示一个自定义警报对话框,但即便如此,我android:layout_width/height="fill_parent"在对话框xml中它只有内容一样大。

我想要的是填充整个屏幕的对话框,除了20像素的填充。然后,作为对话框一部分的图像将使用fill_parent自动拉伸到完整的对话框大小。


阿波罗的战车
浏览 372回答 3
3回答

HUX布斯

尝试将自定义对话框布局包装成RelativeLayout而不是LinearLayout。这对我有用。

万千封印

像对方建议的那样在对话框窗口上指定FILL_PARENT对我来说不起作用(在Android 4.0.4上),因为它只是拉伸黑色对话框背景以填满整个屏幕。什么工作正常是使用最小显示值,但在代码中指定它,以便对话框占用屏幕的90%。所以:Activity activity = ...;AlertDialog dialog = ...;// retrieve display dimensionsRect displayRectangle = new Rect();Window window = activity.getWindow();window.getDecorView().getWindowVisibleDisplayFrame(displayRectangle);// inflate and adjust layoutLayoutInflater inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);View layout = inflater.inflate(R.layout.your_dialog_layout, null);layout.setMinimumWidth((int)(displayRectangle.width() * 0.9f));layout.setMinimumHeight((int)(displayRectangle.height() * 0.9f));dialog.setView(layout);通常,在大多数情况下仅调整宽度应该是足够的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android