我正在使用一个自定义视图的Toast,我实例化了该视图并在Toast上调用了setView方法。这个Toast应该浮在顶部而不接收焦点和触摸事件,并且它能正常工作。但是在启动应用后,用户抱怨说在某些手机型号(如Galaxy Note)上,Toast会收到触摸事件,下面的应用程序却没有反应。
我在setLayoutParams方法中打印了布局参数标志(WindowManager.LayoutParams),结果发现,在大多数设备上,值为0x000098,但在一些设备上为0x040088。在那些Toast接收触摸事件的设备上,标志FLAG_NOT_TOUCHABLE被移除,标志FLAG_WATCH_OUTSIDE_TOUCH被添加。这解释了为什么Toast可以接收触摸事件。
但是是什么原因导致了这种差异?有没有一种方法来强制Toast不可触摸?
我在setLayoutParams方法中打印了布局参数标志(WindowManager.LayoutParams),结果发现,在大多数设备上,值为0x000098,但在一些设备上为0x040088。在那些Toast接收触摸事件的设备上,标志FLAG_NOT_TOUCHABLE被移除,标志FLAG_WATCH_OUTSIDE_TOUCH被添加。这解释了为什么Toast可以接收触摸事件。
但是是什么原因导致了这种差异?有没有一种方法来强制Toast不可触摸?