cesardeazevedo / react-native-bottom-sheet-behavior

react-native wrapper for android BottomSheetBehavior
MIT License
1.16k stars 114 forks source link

Pass touch events to underlying view when BackdropBottomSheet is not defined while at anchor point #44

Open kristfal opened 6 years ago

kristfal commented 6 years ago

Hey,

we have a use case quite similar to the standard google maps. However, we have one noticeable difference: When the bottom sheet is resting at the middle anchor point, we want touch events from the top part of the view (not covered by bottom sheet) to be propagated down into the underlying view (a map view).

Our bottom sheet component view stack is like this:

<CoordinatorLayout>
          {isVisible && (
            <BottomSheetBehavior
              peekHeight={190}
              hideable={false}
              anchorEnabled={true}
              anchorPoint={anchorPoint}
              elevation={10}
              state={behaviorState}
              onStateChange={this.handleStateChange}
            >
              <View style={styles.coordinatorContent}>{children}</View>
            </BottomSheetBehavior>
          )}
</CoordinatorLayout>

This component sits on top of the rest of the view stack.

When the bottom sheet is in position COLLAPSED, the underlying views get their properly propagated touch events. However in state ANCHOR_POINT, the underlying view does not receive any touch events in the "non-covered area", and dragging in this area moves the bottom sheet.

The expected behaviour in this case would be that touches and drag events in the non-covered area is propagated to the underlying views in the same fashion as in the COLLAPSED state.