Status Update
Comments
ma...@google.com <ma...@google.com>
ma...@google.com <ma...@google.com>
ab...@google.com <ab...@google.com> #2
Related to this, there seems to be another issue with this setup: if I set a nestedScroll
modifier that consumes all the available scroll in the scrollable column inside, this should take precedence over the swipe gesture in the BottomSheetScaffold
, but that's not the case, the bottom sheet swipe gesture consumed the scroll.
However, I tried duplicating the BottomSheetScaffold
implementation and switched the anchoredDraggable
modifier, DraggableAnchors
and other M3 APIs with their equivalents in the Foundation library, and then it worked as expected. The code in androidx.compose.material3.AnchoredDraggable
has this comment:
/**
* This is a copy of androidx.compose.foundation.gestures.AnchoredDraggable until that API is
* promoted to stable in foundation. Any changes there should be replicated here.
*/
So it seems like both APIs are interchangeable, but either the M3 ones aren't up to date with the changes in foundation or its implementation has differed and has this bug.
dp...@phunware.com <dp...@phunware.com> #3
Maybe someone has nice workaround?
ma...@google.com <ma...@google.com>
ap...@google.com <ap...@google.com> #4
Branch: androidx-main
commit bbd9f1020330ba0373d7588091578aa678239d4b
Author: Max Alfonso-Ying <maxying@google.com>
Date: Fri Mar 29 19:05:03 2024
Fix BottomSheetScaffold nested scroll when sheet gestures disabled
Fixes:
Test: added unit test
Relnote: "`BottomSheetScaffold` will no longer scroll from nested scroll if `sheetSwipeEnabled` is false"
Change-Id: I5e1c1adb83167184f2baa4457cf1b3c70272a72c
M compose/material3/material3/src/androidInstrumentedTest/kotlin/androidx/compose/material3/BottomSheetScaffoldTest.kt
M compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/BottomSheetScaffold.kt
pr...@google.com <pr...@google.com> #5
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.compose.material3:material3:1.3.0-alpha05
androidx.compose.material3:material3-android:1.3.0-alpha05
androidx.compose.material3:material3-desktop:1.3.0-alpha05
Description
Jetpack Compose version: 1.1.0-alpha07 Jetpack Compose component used: Material3
As described in the Material3 Guidelines, shadow elevation should be used to separate components from patterned or busy backgrounds.
The SearchBar component already supports tonal elevation, but if we need to use it on a busy background (like over a map view, for example), that's not enough to protect the component and indicate separation.
The
Surface
component already supports ashadowElevation
parameter and some other components that useSurface
also already have that parameter that they pass down to the underlyingSurface
, like theListItem
component.Can we please do the same for the SearchBar component? Simply adding a
shadowElevation
parameter and passing it to theshadowElevation
of theSurface
is enough to fix this. I copied the SearchBar component and tested the change and it worked fine.Thanks.