我正在使用帶有自定義視圖的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