0
点赞
收藏
分享

微信扫一扫

android 对话框区域外点击无效,但是可以点击返回键


public void dialog() {
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    View view = View.inflate(this, R.layout.dialog_view_demo, null);
    builder.setView(view);
    final AlertDialog alertDialog = builder.create();
    view.findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            alertDialog.dismiss();
         
        }
    });
    alertDialog.setCanceledOnTouchOutside(false);//对话框区域外点击无效,但是可以点击返回键
    alertDialog.setOnKeyListener(new DialogInterface.OnKeyListener() {
        @Override
        public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
            if (keyCode == KeyEvent.KEYCODE_BACK) {
                finish();
                dialog.dismiss();//要达到同时销毁效果,可在finish()后dismiss,如果不dismiss,dialog会leak。
            }
            return false;
        }
    });
    alertDialog.show();
}


举报

相关推荐

0 条评论