Android:触摸时关闭对话框窗口

Her*_*ter 12 events android dialog touch

我想通过简单地触摸屏幕在我的Android应用程序中关闭一个对话框窗口..这可能吗?如果是这样,怎么样?

我已经研究过在对话框中设置一些"onClickEven",但它并不存在.

这怎么可能?

小智 32

dialog.setCanceledOnTouchOutside(true);如果在对话框外触摸u =,可以使用哪个将关闭对话框.


Bob*_*Bob 14

如果对话框包含任何视图,请尝试在该视图中获取触摸事件,并在用户触摸该视图时关闭对话框.例如,如果您的对话框有任何图像,那么您的代码应该是这样的.

Dialog dialog = new Dialog(context);
dialog.setContentView(R.layout.mylayout);
//create a layout with imageview
ImageView image = (ImageView) dialog.findViewById(R.id.image);
image.setOnClickListener(new View.OnClickListener(){
    public void onClick(View v) {
        dialog.dismiss();
    } 
});
dialog.show();
Run Code Online (Sandbox Code Playgroud)


Yuw*_*wen 7

Dialog dialog = new Dialog(context)
{
    public boolean dispatchTouchEvent(MotionEvent event)  
    {
        dialog.dismiss();
        return false;
    }
};
Run Code Online (Sandbox Code Playgroud)

你完成了!