私のアプリでは、アクティビティの上にフラグメントがあります。フラグメントは画面全体を埋めています。フラグメントの一部は透明なビューであり、(アクティビティに属する)ビューを表示できます。フラグメントの透明なビューの下にあるビューにタッチイベントを転送する方法はありますか?ありがとう!
フラグメント内のオーバーライドされたonTouchEvent
メソッドはfalse
を返し、touchイベントを下位レイヤービューに渡します。
最も簡単な方法:
ここから: https://stackoverflow.com/a/34436589/3818437
を使用して、フラグメントがクリック不可/フォーカス可能でないことを宣言します
Android:clickable="false"
Android:focusable="false"
または
v.setClickable(false)
v.setFocusable(false).
クリックイベントは、フラグメントの親にディスパッチされるはずです。
注:これを実現するには、直接の親にクリックを追加する必要があります。または、Android:clickable = "false"およびAndroid:focusable = "false"を直接の親に設定して、リスナーをさらに親に渡します。
LayoutParamsで特別なフラグを使用できます。
( https://stackoverflow.com/a/53955777/2885859 )
WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE