fix(mobile): double swipe (#18749)

debug: double swipe issue

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
This commit is contained in:
shenlong 2025-05-29 20:05:36 +05:30 committed by GitHub
parent 0e81c20cbb
commit 44d49b9671
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 6 additions and 6 deletions

View File

@ -223,7 +223,8 @@ class GalleryViewerPage extends HookConsumerWidget {
heroAttributes: _getHeroAttributes(asset),
filterQuality: FilterQuality.high,
tightMode: true,
minScale: PhotoViewComputedScale.contained,
initialScale: PhotoViewComputedScale.contained * 0.99,
minScale: PhotoViewComputedScale.contained * 0.99,
errorBuilder: (context, error, stackTrace) => ImmichImage(
asset,
fit: BoxFit.contain,
@ -238,9 +239,9 @@ class GalleryViewerPage extends HookConsumerWidget {
onDragUpdate: (_, details, __) => handleSwipeUpDown(details),
heroAttributes: _getHeroAttributes(asset),
filterQuality: FilterQuality.high,
initialScale: 1.0,
initialScale: PhotoViewComputedScale.contained * 0.99,
maxScale: 1.0,
minScale: 1.0,
minScale: PhotoViewComputedScale.contained * 0.99,
basePosition: Alignment.center,
child: SizedBox(
width: context.width,

View File

@ -1,5 +1,4 @@
import 'package:flutter/widgets.dart';
import 'package:immich_mobile/widgets/photo_view/src/controller/photo_view_controller_delegate.dart'
show PhotoViewControllerDelegate;
@ -7,7 +6,7 @@ mixin HitCornersDetector on PhotoViewControllerDelegate {
HitCorners _hitCornersX() {
final double childWidth = scaleBoundaries.childSize.width * scale;
final double screenWidth = scaleBoundaries.outerSize.width;
if (screenWidth >= childWidth) {
if (screenWidth - childWidth > -0.001) {
return const HitCorners(true, true);
}
final x = -position.dx;
@ -18,7 +17,7 @@ mixin HitCornersDetector on PhotoViewControllerDelegate {
HitCorners _hitCornersY() {
final double childHeight = scaleBoundaries.childSize.height * scale;
final double screenHeight = scaleBoundaries.outerSize.height;
if (screenHeight >= childHeight) {
if (screenHeight - childHeight > -0.001) {
return const HitCorners(true, true);
}
final y = -position.dy;