AlertDialog 横向铺满
时间: 2023-11-08 19:18:57 浏览: 86
在默认情况下,AlertDialog在展示时可能无法横向铺满屏幕。这是因为AlertDialog的默认样式中设置了一个背景图片,导致了AlertDialog无法横向铺满屏幕。
要解决这个问题,你可以重设AlertDialog的background属性,使其横向铺满屏幕。具体做法是获取AlertDialog的窗口对象,然后将背景属性设置为null。接着,你可以调整窗口的位置和宽度,使其横向铺满屏幕。
下面是一个示例代码:
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
View dialogView = LayoutInflater.from(MainActivity.this).inflate(R.layout.layout_dialog, null);
builder.setView(dialogView);
AlertDialog alertDialog = builder.create();
alertDialog.show();
// 设置对话框的位置偏下
Window window = alertDialog.getWindow();
window.setBackgroundDrawable(null); // 重设background
WindowManager.LayoutParams wlp = window.getAttributes();
wlp.gravity = Gravity.BOTTOM;
WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
wlp.width = display.getWidth();
window.setAttributes(wlp);
通过上述代码,你可以重新设置AlertDialog的背景为null,然后调整窗口的位置为底部,并使其宽度和屏幕宽度一致,从而实现AlertDialog的横向铺满屏幕的效果。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
阅读全文