goBallistic method
Start a physics-driven simulation that settles the pixels position, starting at a particular velocity.
This method defers to ScrollPhysics.createBallisticSimulation, which typically provides a bounce simulation when the current position is out of bounds and a friction simulation when the position is in bounds but has a non-zero velocity.
The velocity should be in logical pixels per second.
Implementation
@override
void goBallistic(double velocity) {
if (!listShouldScroll &&
(!(controllerValue == controller.maxPanelSize || controllerValue == controller.minPanelSize) ||
(controllerValue < controller.maxPanelSize && velocity < 0) ||
(controllerValue > controller.minPanelSize && velocity > 0))) {
super.goBallistic(0);
if (controllerValue < controller.maxPanelSize && velocity > 300) {
controller.animateTo(controller.maxPanelSize);
} else if (controllerValue > controller.defaultPanelSize) {
if (velocity < -2000) {
controller.animateTo(controller.minPanelSize);
} else if (velocity < -300) {
controller.animateTo(controller.defaultPanelSize);
}
} else if (controllerValue < controller.defaultPanelSize && velocity < -300) {
controller.animateTo(controller.minPanelSize);
}
} else {
super.goBallistic(velocity);
}
}