android - 当用户触摸其他地方时解除微调器

时间:2012-06-25 11:05:33

标签: android android-spinner ontouchlistener dismiss

我有一个应用程序,用户按下按钮,弹出自定义微调器,以便用户可以选择九种颜色。当用户触摸背景时(除了旋转器之外的每个地方),我希望旋转器被解雇。这可能吗?

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

dialog.dismiss(); 

但它不起作用。

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

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

提前谢谢

1 个答案:

答案 0 :(得分:7)

首先,您应该能够添加

dialog.setCanceledOnTouchOutside(true);

完成你想要的。

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