Skip to content

Conversation

@xu-baolin
Copy link
Member

@xu-baolin xu-baolin commented Oct 10, 2023

Fixes #105733
FIxes #135865

The above two issues will not occur on the ListView widget, so after analyzing their differences, it was found that the SingleChildScrollView pixels were not corrected according to the content dimensions during layout.

ListView correct the pixels codes

do {
correction = _attemptLayout(mainAxisExtent, crossAxisExtent, offset.pixels + centerOffsetAdjustment);
if (correction != 0.0) {
offset.correctBy(correction);

We should correct the pixels to prevent the physics ballistic simulations.

This change makes them have the same behavior.

@github-actions github-actions bot added framework flutter/packages/flutter repository. See also f: labels. f: scrolling Viewports, list views, slivers, etc. labels Oct 10, 2023
@xu-baolin xu-baolin changed the title fix some SingleChildScrollView bugs [SingleChildScrollView] Correct the offset pixels if it is out of range during layout Oct 10, 2023
@xu-baolin xu-baolin requested a review from Piinks October 10, 2023 07:48
Copy link
Contributor

@Piinks Piinks left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is an excellent find! Thank you for tracking it down and fixing it.
LGTM

@Piinks Piinks added the autosubmit Merge PR when tree becomes green via auto submit App label Oct 10, 2023
@auto-submit auto-submit bot merged commit 3f722c1 into flutter:master Oct 12, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Oct 13, 2023
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Oct 13, 2023
Roll Flutter from 83134ac to 3865e49 (80 revisions)

flutter/flutter@83134ac...3865e49

2023-10-13 [email protected] Roll Flutter Engine from e94f191d0ba4 to f9aed0267352 (2 revisions) (flutter/flutter#136537)
2023-10-13 [email protected] Roll Flutter Engine from 40ddc30b9d6c to e94f191d0ba4 (1 revision) (flutter/flutter#136532)
2023-10-13 [email protected] Roll Flutter Engine from 5acdac549034 to 40ddc30b9d6c (1 revision) (flutter/flutter#136526)
2023-10-13 [email protected] Roll Flutter Engine from b59d779d4f7f to 5acdac549034 (2 revisions) (flutter/flutter#136523)
2023-10-13 [email protected] Roll Flutter Engine from dc30b4cd0239 to b59d779d4f7f (2 revisions) (flutter/flutter#136521)
2023-10-13 [email protected] Roll Flutter Engine from 31ec5e31a914 to dc30b4cd0239 (1 revision) (flutter/flutter#136518)
2023-10-13 [email protected] Roll Flutter Engine from 7a6172e9d34c to 31ec5e31a914 (1 revision) (flutter/flutter#136516)
2023-10-13 [email protected] Roll Flutter Engine from ffb3b5b67f61 to 7a6172e9d34c (1 revision) (flutter/flutter#136515)
2023-10-13 [email protected] SearchAnchor should dispose created FocusNode and SearchController. (flutter/flutter#136120)
2023-10-13 [email protected] Roll Flutter Engine from dee90f16aacd to ffb3b5b67f61 (2 revisions) (flutter/flutter#136506)
2023-10-13 [email protected] Make constraints a covariant argument in RenderBox.computeDryLayout() (flutter/flutter#136432)
2023-10-12 [email protected] [web] remove loading indicator in -d web-server builds (flutter/flutter#136482)
2023-10-12 [email protected] Roll Flutter Engine from cb37ebc81939 to dee90f16aacd (3 revisions) (flutter/flutter#136502)
2023-10-12 [email protected] Roll Flutter Engine from 7eb20a09073e to cb37ebc81939 (2 revisions) (flutter/flutter#136492)
2023-10-12 [email protected] [SingleChildScrollView] Correct the offset pixels if it is out of range during layout (flutter/flutter#136239)
2023-10-12 [email protected] Allow `TapRegion` to consume tap events (flutter/flutter#136305)
2023-10-12 [email protected] Fix doc TODO (flutter/flutter#136485)
2023-10-12 [email protected] Roll Flutter Engine from f02006736390 to 7eb20a09073e (4 revisions) (flutter/flutter#136478)
2023-10-12 [email protected] Bump file,process,process_runner (flutter/flutter#136418)
2023-10-12 [email protected] Roll Flutter Engine from 664657d32992 to f02006736390 (3 revisions) (flutter/flutter#136467)
2023-10-12 [email protected] Fix PageView API doc sample fails on Desktop and Web (flutter/flutter#135910)
2023-10-12 [email protected] Add `--trace-to-file` option to `flutter run` (flutter/flutter#135713)
2023-10-12 [email protected] [flutter_tools] handle ERROR_INVALID_FUNCTION when trying to symlink across drives (flutter/flutter#136424)
2023-10-12 [email protected] Updates references to `finders.dart` in `controller.dart` to use a namespace. (flutter/flutter#136423)
2023-10-12 [email protected] Change some tests to run on macs without iOS devices attached (flutter/flutter#136463)
2023-10-12 [email protected] Roll Packages from 4b483f2 to 93c3f69 (9 revisions) (flutter/flutter#136461)
2023-10-12 [email protected] Fix typo in function name (flutter/flutter#136273)
2023-10-12 [email protected] Fix chip widgets don't the apply provided `iconTheme` (flutter/flutter#135751)
2023-10-12 [email protected] Roll Flutter Engine from 33a6d21b3364 to 664657d32992 (2 revisions) (flutter/flutter#136450)
2023-10-12 [email protected] Roll Flutter Engine from d00fabf0b919 to 33a6d21b3364 (5 revisions) (flutter/flutter#136442)
2023-10-12 [email protected] Roll Flutter Engine from 05e26c1b2c79 to d00fabf0b919 (5 revisions) (flutter/flutter#136431)
2023-10-12 [email protected] Floating `SnackBar` should always float above the bottom widgets (flutter/flutter#136411)
2023-10-12 [email protected] SearchBar should listen to changes to the SearchController and update suggestions on change (flutter/flutter#134337)
2023-10-11 [email protected] Allow latest pkg:material_color_utilities (flutter/flutter#132445)
2023-10-11 [email protected] Roll Flutter Engine from 8bf1460892c6 to 05e26c1b2c79 (3 revisions) (flutter/flutter#136422)
2023-10-11 [email protected] Create template for umbrella issues (flutter/flutter#134235)
2023-10-11 [email protected] [Windows Arm64] Add the 'platform_channel_sample_test_windows' Devicelab test (flutter/flutter#136401)
2023-10-11 [email protected] Roll Flutter Engine from 2b1b4b97f787 to 8bf1460892c6 (4 revisions) (flutter/flutter#136414)
2023-10-11 [email protected] Stop recommending android sdk root (flutter/flutter#136296)
2023-10-11 [email protected] Roll Flutter Engine from 5fcc16772cdd to 2b1b4b97f787 (1 revision) (flutter/flutter#136404)
2023-10-11 [email protected] Switch to Chrome for Testing instead of vanilla Chromium. (flutter/flutter#136214)
2023-10-11 [email protected] Reland "Switch flutter_tools to run frontend server from AOT snapshot" (flutter/flutter#136282)
2023-10-11 [email protected] Roll Flutter Engine from 4b02631b59bf to 5fcc16772cdd (2 revisions) (flutter/flutter#136397)
2023-10-11 [email protected] Fix some deprecation details (flutter/flutter#136385)
2023-10-11 [email protected] Roll Flutter Engine from ed67e8aa9aba to 4b02631b59bf (1 revision) (flutter/flutter#136392)
2023-10-11 [email protected] [leak-tracking] Add leak tracking in test/rendering - 1 (flutter/flutter#136275)
...
@Piinks
Copy link
Contributor

Piinks commented Oct 17, 2023

This broke a customer test, I am going to revert this and will see about getting a repro of the customer issue.

@martinale14
Copy link

This pr causes an error when you work with offsets and some custom animations, this forces when you set state on that animations to keep always on top and can not perform outofscroll behavior

@xu-baolin
Copy link
Member Author

This pr causes an error when you work with offsets and some custom animations, this forces when you set state on that animations to keep always on top and can not perform outofscroll behavior

Hi, could you file a new issue and supply a minimal example to reproduce the problem?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autosubmit Merge PR when tree becomes green via auto submit App f: scrolling Viewports, list views, slivers, etc. framework flutter/packages/flutter repository. See also f: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

DropdownMenu throws an assert error if keyboard is closed while menu is open Scroll with unnecessary animation and updates when maximizing window.

3 participants