0

我有一个应用程序,用户按下一个按钮并弹出一个自定义微调器,以便用户可以在九种颜色之间进行选择。当用户触摸背景(屏幕上的每个地方,除了微调器)时,我希望微调器被关闭。这可能吗?

我试图在覆盖背景的图像上添加一个 onTouchListener 并调用

dialog.dismiss(); 

但它不起作用。

我的微调器是自定义微调器,设置在 xml 文件中并弹出:

final Dialog dialog = new Dialog(this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.colorchooser);

先感谢您

4

1 回答 1

7

首先你应该能够添加

dialog.setCanceledOnTouchOutside(true);

完成你想要的。

但是dismiss() 方法也应该可以工作,我猜你正在调用dialog.dismiss() 的地方目前无法到达。

于 2012-06-25T11:11:56.247 回答