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

geo*_*rge 0 android dismiss ontouchlistener android-spinner

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

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

dialog.dismiss(); 
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

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

final Dialog dialog = new Dialog(this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.colorchooser);
Run Code Online (Sandbox Code Playgroud)

先感谢您

Mik*_*ael 7

首先,你应该能够添加

dialog.setCanceledOnTouchOutside(true);
Run Code Online (Sandbox Code Playgroud)

实现你想要的.

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