android圆角dialog,并限制宽度和高度
16lz
2021-01-23
AlertDialog.Builder builder = new AlertDialog.Builder(getContext()); View contentView = getActivity().getLayoutInflater().inflate(R.layout.layout_dialog_contact, null); builder.setView(contentView); AlertDialog dialog = builder.create(); dialog.getWindow().setBackgroundDrawable(new BitmapDrawable()); // 背景透明. dialog.setCanceledOnTouchOutside(false); // 点击外部不消失. dialog.getWindow().setGravity(Gravity.CENTER); // 位置. dialog.show(); WindowManager m = getActivity().getWindowManager(); Display d = m.getDefaultDisplay(); // 获取屏幕宽、高用 WindowManager.LayoutParams p = dialog.getWindow().getAttributes(); // 获取对话框当前的参数值 p.height = (int) (d.getHeight() * 0.4); // 高度设置为屏幕的0.4 p.width = (int) (d.getWidth() * 0.9); // 宽度设置为屏幕的0.9 dialog.getWindow().setAttributes(p);
使用 shape 做背景实现圆角的dialog
注意:dialog.getWindow().setAttributes(p); 须在 show() 方法之后调用
更多相关文章
- android 获取和设置屏幕亮度
- android 控件背景添加圆角
- android 屏幕方向总结
- android 自定义Dialog设置背景颜色
- android获取设备屏幕大小的方法
- android唤醒屏幕/保持屏幕唤醒
- Android SpannableString 自定义圆角背景
- Android屏幕休眠和唤醒