为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

阿波罗的战车 2019-08-09 15:55:29
如何使警报对话框填充90%的屏幕大小?我可以创建并显示一个自定义警报对话框,但即便如此,我android:layout_width/height="fill_parent"在对话框xml中它只有内容一样大。我想要的是填充整个屏幕的对话框,除了20像素的填充。然后,作为对话框一部分的图像将使用fill_parent自动拉伸到完整的对话框大小。
查看完整描述

3 回答

?
HUX布斯

TA贡献1876条经验 获得超6个赞

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


查看完整回答
反对 回复 2019-08-09
?
万千封印

TA贡献1891条经验 获得超3个赞

像对方建议的那样在对话框窗口上指定FILL_PARENT对我来说不起作用(在Android 4.0.4上),因为它只是拉伸黑色对话框背景以填满整个屏幕。


什么工作正常是使用最小显示值,但在代码中指定它,以便对话框占用屏幕的90%。


所以:


Activity activity = ...;

AlertDialog dialog = ...;


// retrieve display dimensions

Rect displayRectangle = new Rect();

Window window = activity.getWindow();

window.getDecorView().getWindowVisibleDisplayFrame(displayRectangle);


// inflate and adjust layout

LayoutInflater 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);

通常,在大多数情况下仅调整宽度应该是足够的。


查看完整回答
反对 回复 2019-08-09
  • 3 回答
  • 0 关注
  • 371 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信