首页 > 解决方案 > 在 Java Android Studio 中删除对话框周围的触摸

问题描述

我正在研究如何消除对话框周围的触摸效果

我在未检测到连接时创建了一个对话框

代码

@Override
            public void onErrorResponse(String _param1, String _param2) {
                final String _tag = _param1;
                final String _message = _param2;
                nc.setTitle("No connection");
                nc.setIcon(R.drawable.ic_launcher);
                nc.setMessage("Turn on your connection and then relaunch the app");
                nc.setPositiveButton("Retry", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface _dialog, int _which) {
                        i.setClass(getApplicationContext(), SplashActivity.class);
                        startActivity(i);
                    }
                });
                nc.setNegativeButton("Close App", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface _dialog, int _which) {
                        finish();
                    }
                });
                nc.create().show();
            }
        };
    }

当对话框出现时,它必须使 350x100

当我单击对话框周围的屏幕时,它会删除

我想知道是否可以在显示对话框时移除对话框周围的触摸?

标签: javaandroiddialog

解决方案


试试这个:dialog.setCanceledOnTouchOutside(false);。它仍然允许您使用后退按钮取消对话框,但它会阻止对话框在触摸它周围时关闭。

编辑

在您的代码中,您应该nc.create().show();将末尾更改为:

AlertDialog alertDialog = nc.create();
alertDialog.setCanceledOnTouchOutside(false);
alertDialog.show();

推荐阅读