私はカスタムビューでトーストを使用しています。私はビューをインスタンス化し、トーストでsetViewを呼び出します。 トーストは一番上に浮いていてフォーカスとタッチのイベントを受けていないと思われ、うまくいきました。アプリが起動された後、ユーザーはGalaxy Noteのようないくつかの携帯電話モデルで、Toastはタッチイベントを受け取り、その下のアプリはそれをしなかったと訴えた。Androidトーストは一部の電話機でタッチイベントを取得します。
ビューがメソッドsetLayoutParamsで取得するレイアウトパラメータフラグ(WindowManager.LayoutParams)を表示しました。ほとんどのデバイスでは、値は0x000098ですが、0x040088であることが判明しています。 Toastがタッチイベントを取得するデバイスでは、フラグFLAG_NOT_TOUCHABLEが削除され、フラグFLAG_WATCH_OUTSIDE_TOUCHが追加されます。これは、トーストがタッチイベントを取得する理由を説明します。
しかし、この違いは何ですか?トーストに触れないように強制する方法はありますか?
答えを見つけましたか?また、どのようにトーストのパラメータを読んだのですか? – theJosh
"toast.getView()。setEnabled(false);"あなたのために働く?これは、トーストのビューでタッチイベントを無効にする必要があります。 – domi
この質問は2歳で突然、人生に戻った。私は現時点でこれをテストするデバイスを持っていません – yoah