Fixed
Status Update
Comments
jn...@google.com <jn...@google.com>
jn...@google.com <jn...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-main
Author: Louis Pullen-Freilich <
Link:
Adds OverscrollEffect#withoutDrawing and OverscrollEffect#withoutEventHandling
Expand for full commit details
Adds OverscrollEffect#withoutDrawing and OverscrollEffect#withoutEventHandling
These APIs allow overscroll to have events dispatched to it by one component, and rendered in a separate component.
Fixes: b/266550551
Fixes: b/204650733
Fixes: b/255554340
Fixes: b/229537244
Test: OverscrollTest
Relnote: "Adds OverscrollEffect#withoutDrawing and OverscrollEffect#withoutEventHandling APIs - these APIs create a wrapped instance of the provided overscroll effect that doesn't draw / handle events respectively, which allows for rendering overscroll in a separate component from the component that is dispatching events. For example, disabling drawing the overscroll inside a lazy list, and then drawing the overscroll separately on top / elsewhere."
Change-Id: Idbb3d91546b49c1987a041f959bce4b2b09a9f61
Files:
- M
compose/foundation/foundation/api/current.txt
- M
compose/foundation/foundation/api/restricted_current.txt
- M
compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/OverscrollDemo.kt
- M
compose/foundation/foundation/samples/src/main/java/androidx/compose/foundation/samples/OverscrollSample.kt
- M
compose/foundation/foundation/src/androidInstrumentedTest/kotlin/androidx/compose/foundation/OverscrollTest.kt
- M
compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/Overscroll.kt
Hash: f64e25b7a473c757d080521e7dd97b3f6670f60d
Date: Fri Nov 01 18:43:56 2024
jn...@google.com <jn...@google.com> #3
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.compose.foundation:foundation:1.8.0-alpha06
androidx.compose.foundation:foundation-android:1.8.0-alpha06
androidx.compose.foundation:foundation-jvmstubs:1.8.0-alpha06
androidx.compose.foundation:foundation-linuxx64stubs:1.8.0-alpha06
jn...@google.com <jn...@google.com> #4
Screenshot attached
jn...@google.com <jn...@google.com>
di...@gmail.com <di...@gmail.com> #5
I agree, the behaviour was not intuitive to me either. Another way could be applying min(background.alpha, disabled.alpha) in chipColors()
but that would have a much wider impact.
Thank you for the fix!
ap...@google.com <ap...@google.com> #6
Project: platform/frameworks/support
Branch: androidx-main
commit ff6fae95f64c40e7d75bfc0180d940dff28556fa
Author: John Nichol <jnichol@google.com>
Date: Wed Jul 13 14:19:51 2022
Explicitly set the disabledBackgroundColor for Chip childChipColors
Bug: 238057342
Test: ./gradlew :wear:compose:compose-material:connectedCheck --info --daemon
RelNote: "Fixed a bug in the ChipDefaults.childChipColor() to ensure that the disabled background color is full transparent."
Change-Id: I2b3c3ffdf046b9202e56411160ad41a51a1c6fb7
M wear/compose/compose-material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/ChipTest.kt
M wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/Chip.kt
https://android-review.googlesource.com/2152756
Branch: androidx-main
commit ff6fae95f64c40e7d75bfc0180d940dff28556fa
Author: John Nichol <jnichol@google.com>
Date: Wed Jul 13 14:19:51 2022
Explicitly set the disabledBackgroundColor for Chip childChipColors
Bug: 238057342
Test: ./gradlew :wear:compose:compose-material:connectedCheck --info --daemon
RelNote: "Fixed a bug in the ChipDefaults.childChipColor() to ensure that the disabled background color is full transparent."
Change-Id: I2b3c3ffdf046b9202e56411160ad41a51a1c6fb7
M wear/compose/compose-material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/ChipTest.kt
M wear/compose/compose-material/src/commonMain/kotlin/androidx/wear/compose/material/Chip.kt
Description
Component used: androidx.wear.compose:compose-material Version used: 1.0.0-rc02 Devices/Android versions reproduced on: All
Chip.kt childChipColors intends for the background to be transparent, but the disabled state overrides the alpha value, causing the background to appear a dark black instead of transparent.
Chip.kt childChipColors contains this code:
It should also override disabledBackgroundColor, also setting it to Color.Transparent. The default is
disabledBackgroundColor: Color = backgroundColor.copy(alpha = ContentAlpha.disabled),
which results in a dark black background for the chip.