-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Closed
Labels
frameworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.
Milestone
Description
Steps to Reproduce
See following test:
import 'package:flutter/widgets.dart';
import 'package:test/test.dart';
void main() {
test('Expect correct extent metrics when max scroll extent is less than viewport dimension', () {
// Given
ScrollMetrics metrics = FixedScrollMetrics(
axisDirection: AxisDirection.down,
// User scrolled 1 pixel
pixels: 1,
// Viewport is 100
viewportDimension: 100,
minScrollExtent: 0,
// User can scroll max 10 pixels
maxScrollExtent: 10,
);
// Extent before is 1, which is correct
expect(metrics.extentBefore, 1);
// Extent inside fails here.
// According to documentation
// extentInside should be viewport height
// as extentBefore and extentAfter are non-zero
// But it is 10, not 100
expect(metrics.extentInside, 100);
// Extent after is 9, which is correct
expect(metrics.extentAfter, 9);
});
}
On UI it will cause scroll thumb to be always half height of the viewport in cases when there is no too much to scroll.
In those cases scroll thumb should be close to viewport height.
[✓] Flutter (Channel stable, v1.2.1, on Linux, locale en_US.UTF-8)
AlexanderArendar and slightfoot
Metadata
Metadata
Assignees
Labels
frameworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.