import 'package:flutter/cupertino.dart'; // https://stackoverflow.com/a/74453792 class FastScrollPhysics extends ScrollPhysics { const FastScrollPhysics({super.parent}); @override FastScrollPhysics applyTo(ScrollPhysics? ancestor) { return FastScrollPhysics(parent: buildParent(ancestor)); } @override SpringDescription get spring => const SpringDescription( mass: 40, stiffness: 100, damping: 1, ); } class FastClampingScrollPhysics extends ClampingScrollPhysics { const FastClampingScrollPhysics({super.parent}); @override FastClampingScrollPhysics applyTo(ScrollPhysics? ancestor) { return FastClampingScrollPhysics(parent: buildParent(ancestor)); } @override SpringDescription get spring => const SpringDescription( // When swiping between videos on Android, the placeholder of the first opened video // can briefly be seen and cause a flicker effect if the video begins to initialize // before the animation finishes - probably a bug in PhotoViewGallery's animation handling // Making the animation faster is not just stylistic, but also helps to avoid this flicker mass: 80, stiffness: 100, damping: 1, ); }