Android之自定义对话框Dialog

自定义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);
        }
    }

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值