-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Closed
Copy link
Labels
P2Important issues not at the top of the work listImportant issues not at the top of the work lista: fidelityMatching the OEM platforms betterMatching the OEM platforms betterc: new featureNothing broken; request for a new capabilityNothing broken; request for a new capabilityc: proposalA detailed proposal for a change to FlutterA detailed proposal for a change to Fluttercustomer: crowdAffects or could affect many people, though not necessarily a specific customer.Affects or could affect many people, though not necessarily a specific customer.e: OS-version specificAffects only some versions of the relevant operating systemAffects only some versions of the relevant operating systemengineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.f: gesturesflutter/packages/flutter/gestures repository.flutter/packages/flutter/gestures repository.f: material designflutter/packages/flutter/material repository.flutter/packages/flutter/material repository.f: scrollingViewports, list views, slivers, etc.Viewports, list views, slivers, etc.frameworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.platform-androidAndroid applications specificallyAndroid applications specificallyteam-androidOwned by Android platform teamOwned by Android platform teamtriaged-androidTriaged by Android platform teamTriaged by Android platform team
Description
Update August 2023:
- The current implementation of StretchingOverscrollIndicator uses a transform animation. This is not precisely accurate to the native implementation, which uses a shader:
- https://cs.android.com/android/platform/superproject/main/+/main:frameworks/native/libs/renderengine/skia/filters/StretchShaderFactory.cpp?q=overscroll%20stretch&ss=android&start=1
- Implementing this shader in Flutter for better fidelity is currently blocked on [Impeller] Allow creation of ImageFilter objects from fragment shaders. #132099
- Since useMaterial3 is now true by default, the StretchingOverscrollIndicator is now enabled on Android by default
Internal: b/195519748
Use case
Staring from Android 12 the default visual overscroll behavior will be Stretch instead of the glow effect.
More about this change: https://developer.android.com/about/versions/12/overscroll
Proposal
The default GlowingOverscrollIndicator shouldn't be applied when targeting Android 12
A new StretchOverscrollIndicator should be created and used when targeeting Android 12 + (some additional data about the dragging and flinging values should be provided to the ScrollView builder, see the EdgeEffect Api)
Kirpal, fabricio-sisplan, orestesgaolin, jeroen-meijer, PiN73 and 93 moresullenel, sbis04, lambda-fairy, AsjadSiddiqui, albertms10 and 7 more
Metadata
Metadata
Assignees
Labels
P2Important issues not at the top of the work listImportant issues not at the top of the work lista: fidelityMatching the OEM platforms betterMatching the OEM platforms betterc: new featureNothing broken; request for a new capabilityNothing broken; request for a new capabilityc: proposalA detailed proposal for a change to FlutterA detailed proposal for a change to Fluttercustomer: crowdAffects or could affect many people, though not necessarily a specific customer.Affects or could affect many people, though not necessarily a specific customer.e: OS-version specificAffects only some versions of the relevant operating systemAffects only some versions of the relevant operating systemengineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.f: gesturesflutter/packages/flutter/gestures repository.flutter/packages/flutter/gestures repository.f: material designflutter/packages/flutter/material repository.flutter/packages/flutter/material repository.f: scrollingViewports, list views, slivers, etc.Viewports, list views, slivers, etc.frameworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.platform-androidAndroid applications specificallyAndroid applications specificallyteam-androidOwned by Android platform teamOwned by Android platform teamtriaged-androidTriaged by Android platform teamTriaged by Android platform team
