自定义Dialog,布局自定义,所以布局文件(layout_alert.xml)就不贴了,直接贴代码:
public void showAlertDilog(Context context,String mes) {
if (dialog != null) {
if (!dialog.isShowing()) {
dialog.show();
}
}else {
dialog = new android.app.AlertDialog.Builder(context).create();
dialog.show();
Window window = dialog.getWindow();
window.setContentView(R.layout.layout_alert);
//设置dialog显示的位置居中
window.setGravity(Gravity.CENTER);
//添加动画效果
//window.setWindowAnimations(R.style.alpha_anim);
//设置对话框背景透明,AlertDialog无效,Dialog才有效
window.setBackgroundDrawableResource(R.color.FullTransparent);
//获取对话框当前的参数值
android.view.WindowManager.LayoutParams p = dialog.getWindow().getAttributes();
//设置对话框的宽度和高度
p.width = 500;
p.height = 386;
// 设置点击屏幕Dialog不消失
dialog.setCanceledOnTouchOutside(true);
//设置对话框参数生效
dialog.getWindow().setAttributes(p);
//获取layout_alert.xml中的确定按钮
Button btn_cancel = window.findViewById(R.id.btn_yes);
btn_cancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO 自动生成的方法存根
dialog.dismiss();
}
});
//获取layout_alert.xml中的TextView
TextView tvTitle = window.findViewById(R.id.tv_title);
TextView tvMes = window.findViewById(R.id.tv_message);
tvTitle.setText("提示");
tvMes.setText(mes);
}
}


本文提供了一个自定义AlertDialog的示例代码,展示了如何通过Builder创建并显示对话框,并设置了对话框的位置、尺寸、背景透明度及点击外部是否消失等属性。
6269

被折叠的 条评论
为什么被折叠?



