Android 单击“外部”关闭对话框

Android 单击“外部”关闭对话框,android,dialog,Android,Dialog,我想要的是一个没有任何按钮的对话框,当我在对话框主体外单击时关闭该对话框。可能吗 public class MainActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);

我想要的是一个没有任何按钮的对话框,当我在对话框主体外单击时关闭该对话框。可能吗

public class MainActivity extends Activity{
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        openCredit();
    }

   //THIS IS ONE CUSTOM DIALOG
    public void openCredit(){ 
        AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
        LayoutInflater inflater = MainActivity.this.getLayoutInflater();
        builder.setView(inflater.inflate(R.layout.activity_splash, null));
        builder.show();
    }
}
编辑:我搜索并找到了两个函数setCanceledOnTouchOutside()和setCancelable()。第一种方法不适用于我的AlertDialog方法,错误为“类型AlertDialog.Builder的方法setCanceledOnTouchOutside(布尔值)未定义”。第二个按钮只用于按下后退按钮

所以,我改变了我的代码如下,它现在正在工作。谢谢

public void openCredit(){
        AlertDialog builder = new AlertDialog.Builder(this).create();
        LayoutInflater inflater = MainActivity.this.getLayoutInflater();
        builder.setView(inflater.inflate(R.layout.activity_splash, null));
        builder.setCancelable(true);
        builder.show();
        builder.setCanceledOnTouchOutside(true);
    }
你试过这个吗

builder.setCancelable(true);

添加此行以执行此操作

builder.setCancelable(true);

当你在这里搜索谷歌时,你学到了什么?可能是我道歉的副本。。我试着用错误的关键词搜索,但错过了相应的链接……根据参考资料,这个功能是在按下后退按钮时关闭的,而不是在外面点击。setCanceledOnTouchOutside中的另一个functoid不适用于AlertDialog@AbdullahFahim它一定有用我检查过并用过了。和
setCancelable(true)
对于
AlertDialog
setcanceledontouchout(true)相同用于
对话框