关于自定义对话框大小

335 阅读1分钟

在我们进行自定义对话框时,有的时候由于填充的数据太多或太少,对话框的大小也会随之改动,这时就需要我们对对话框进行大小的设置。

\

1、首先创建一个对话框

\

AlertDialog alertDialog=new AlertDialog.Builder(getActivity())
.setTitle("提示")
.setMessage("这是一个对话框")
.create();

\

\

2、 获取对话框的window实例,通过window实例来控制对话框出现的位置,大小和弹出时候的场景

Window window=alertDialog.getWindow();

设置对话框最终显示位置

window .setGravity(Gravity.TOP);

参数可以是 Gravity.TOP(顶部), Gravity.BUTTON(底部), Gravity.LEFT(左边), Gravity.RIGHT(右边), Gravity.CENTER(居中) 以及它们的组合

代码如下:

WindowManager manager=getActivity().getWindowManager();
Display display=manager.getDefaultDisplay();//获取屏幕高度和宽度
WindowManager.LayoutParams dialog=window.getAttributes(); //获取对话框当前的值
dialog.height = (int) (display.getHeight() * 0.6); // 高度设置为屏幕的0.6,根据实际情况调整
dialog.width = (int) (display.getWidth() * 0.6); // 宽度设置为屏幕的0.65,根据实际情况调整
dialog.alpha = 0.5f; //设置对话框的透明度
window.setAttributes(dialog);  //设置

如有不足,希望大佬指导萌新!