Pass touches to the view under

37,685

Solution 1

In your overriden onTouchEvent method inside the fragment return false, it passes the touch event to the lower layer views.

Solution 2

simplest way :

form here: http://stackoverflow.com/a/34436589/3818437

Declare your fragment not clickable/focusable by using

android:clickable="false"

android:focusable="false"

or

v.setClickable(false)

v.setFocusable(false)

The click events should be dispatched to the fragment's parent now.

Note: To achieve this, you have to add a click to its direct parent. or set android:clickable="false" and android:focusable="false" to its direct parent to pass listener to further parent.

Solution 3

You can use special flag in layoutParams.

(https://stackoverflow.com/a/53955777/2885859)

WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
Share:
37,685
roiberg
Author by

roiberg

Updated on July 09, 2022

Comments

  • roiberg
    roiberg almost 2 years

    In my app I have a fragment on top of the activity. The fragment is filling the whole screen. Part of the fragment is a transparent View and you can see the views under (that belong to the activity). Is there a way to transfer the touch events to the views that are under the transparent View of the fragment? Thanks!

  • ghita
    ghita about 5 years
    and in xml file?
  • crysxd
    crysxd over 3 years
    Works like a charm!
  • Emil
    Emil about 2 years
    this doesnt work for layouts overlapping inside frame