diff --git a/lib/widgets/fullscreen/fullscreen_body.dart b/lib/widgets/fullscreen/fullscreen_body.dart index 1b5f9113a..0e67bba8a 100644 --- a/lib/widgets/fullscreen/fullscreen_body.dart +++ b/lib/widgets/fullscreen/fullscreen_body.dart @@ -383,7 +383,6 @@ class FullscreenVerticalPageView extends StatefulWidget { } class _FullscreenVerticalPageViewState extends State { - bool _isInitialScale = true; final ValueNotifier _backgroundColorNotifier = ValueNotifier(Colors.black); final ValueNotifier _infoPageVisibleNotifier = ValueNotifier(false); @@ -404,9 +403,6 @@ class _FullscreenVerticalPageViewState extends State super.didUpdateWidget(oldWidget); _unregisterWidget(oldWidget); _registerWidget(widget); - if (oldWidget.entry != widget.entry) { - _onEntryChanged(); - } } @override @@ -436,12 +432,10 @@ class _FullscreenVerticalPageViewState extends State pageController: widget.horizontalPager, onTap: widget.onImageTap, onPageChanged: widget.onHorizontalPageChanged, - onScaleChanged: _onScaleChanged, videoControllers: widget.videoControllers, ) : SingleImagePage( entry: entry, - onScaleChanged: _onScaleChanged, onTap: widget.onImageTap, videoControllers: widget.videoControllers, ), @@ -466,7 +460,7 @@ class _FullscreenVerticalPageViewState extends State child: PageView( scrollDirection: Axis.vertical, controller: widget.verticalPager, - physics: _isInitialScale ? const PageScrollPhysics() : const NeverScrollableScrollPhysics(), + physics: const PhotoViewPageViewScrollPhysics(parent: PageScrollPhysics()), onPageChanged: (page) { widget.onVerticalPageChanged(page); _infoPageVisibleNotifier.value = page == pages.length - 1; @@ -481,14 +475,6 @@ class _FullscreenVerticalPageViewState extends State _backgroundColorNotifier.value = _backgroundColorNotifier.value.withOpacity(opacity * opacity); } - void _onEntryChanged() { - _onScaleChanged(PhotoViewScaleState.initial); - } - - void _onScaleChanged(PhotoViewScaleState state) { - setState(() => _isInitialScale = state == PhotoViewScaleState.initial); - } - void _onImageChanged() async { await UriImage(uri: entry.uri, mimeType: entry.mimeType).evict(); await ThumbnailProvider(entry: entry, extent: Constants.thumbnailCacheExtent).evict(); diff --git a/lib/widgets/fullscreen/image_page.dart b/lib/widgets/fullscreen/image_page.dart index d3ffb050f..fdd606d53 100644 --- a/lib/widgets/fullscreen/image_page.dart +++ b/lib/widgets/fullscreen/image_page.dart @@ -34,11 +34,10 @@ class MultiImagePageState extends State with AutomaticKeepAliveC Widget build(BuildContext context) { super.build(context); - const scrollDirection = Axis.horizontal; return PhotoViewGestureDetectorScope( - axis: scrollDirection, + axis: [Axis.horizontal, Axis.vertical], child: PageView.builder( - scrollDirection: scrollDirection, + scrollDirection: Axis.horizontal, controller: widget.pageController, physics: const PhotoViewPageViewScrollPhysics(parent: BouncingScrollPhysics()), onPageChanged: widget.onPageChanged,