0

環境

TYPE_SYSTEM_ALERTフルスクリーンのオーバーレイ ウィンドウ ( ) があります。

FLAG_NOT_TOUCHABLE下層のウィンドウがタッチ イベントを取得できるように、フラグが有効になっています。

フラグFLAG_WATCH_OUTSIDE_TOUCHも有効になっているためACTION_OUTSIDE、タッチ イベントが発生したときにオーバーレイがイベントを取得します。

ゴール

画面の特定の領域でタッチ イベントが発生した場合、オーバーレイを「タッチ可能」にして、後続のすべてのタッチ イベント (移動、上へ、...) を受け取りたいと考えています。

私が試したこと

FLAG_NOT_TOUCHABLEを受け取ったときにを削除しようとしましたACTION_OUTSIDEが、現在の一連のタッチが終了するまで (つまり、イベント)、タッチ イベントを受け取りませんACTION_UP

4

1 に答える 1

0

さて、最終的に2つのオーバーレイウィンドウを使用することになりました:

  • コンテンツのタッチ イベントをキャッチするTYPE_SYSTEM_ALERTwithwrap_content
  • TYPE_SYSTEM_OVERLAYと_match_parent

そして、タッチの開始/終了時に、コンテンツビューをあるウィンドウから別のウィンドウに転送します。

于 2012-12-17T08:57:29.260 に答える