我正在使用带有自定义视图的Toast。我实例化视图并在吐司上调用setView。 Toast应该浮在顶部,不会收到焦点和触摸事件,并且它运行良好。该应用程序启动后,用户抱怨说在像Galaxy Note这样的手机型号中,Toast确实获得了触摸事件,而下面的应用程序没有。Android敬酒在某些手机上获取触摸事件,而在其他手机上获得触摸事件
我打印了视图在方法setLayoutParams中获取的布局参数标志(WindowManager.LayoutParams)。事实证明,在大多数设备上,该值为0x000098,但在某些设备上为0x040088。在Toast获得触摸事件的设备上,FLAG_NOT_TOUCHABLE标志被删除,并添加标志FLAG_WATCH_OUTSIDE_TOUCH。这解释了为什么吐司会得到触摸事件。
但是,造成这种差异的原因是什么?有没有办法迫使吐司不可触摸?
您是否找到答案?另外,你是怎么读Toast params的? – theJosh 2015-02-11 00:15:17
是“toast.getView()。setEnabled(false);”为你工作?这应该在吐司的视图上禁用触摸事件。 – domi 2015-02-11 00:30:05
这个问题是2岁,突然恢复生机。我没有一个设备来测试此刻 – yoah 2015-02-11 08:45:56