remove `Dismissible` and instead use `GestureDetector` for dismissal
This commit is contained in:
parent
abb107fbbf
commit
024a2ce981
|
@ -87,18 +87,15 @@ class MediaViewPage extends HookWidget {
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
: null,
|
: null,
|
||||||
body: Dismissible(
|
body: GestureDetector(
|
||||||
direction: DismissDirection.vertical,
|
|
||||||
onDismissed: (_) => Navigator.of(context).pop(),
|
|
||||||
key: const Key('media view'),
|
|
||||||
background: Container(color: Colors.black),
|
|
||||||
dismissThresholds: {
|
|
||||||
DismissDirection.vertical: 0,
|
|
||||||
},
|
|
||||||
confirmDismiss: (direction) => Future.value(isZoomedOut.value),
|
|
||||||
resizeDuration: null,
|
|
||||||
child: GestureDetector(
|
|
||||||
onTapUp: (details) => showButtons.value = !showButtons.value,
|
onTapUp: (details) => showButtons.value = !showButtons.value,
|
||||||
|
onVerticalDragEnd: isZoomedOut.value
|
||||||
|
? (details) {
|
||||||
|
if (details.primaryVelocity.abs() > 1000) {
|
||||||
|
Navigator.of(context).pop();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
: null,
|
||||||
child: PhotoView(
|
child: PhotoView(
|
||||||
scaleStateChangedCallback: (value) {
|
scaleStateChangedCallback: (value) {
|
||||||
isZoomedOut.value = value == PhotoViewScaleState.zoomedOut ||
|
isZoomedOut.value = value == PhotoViewScaleState.zoomedOut ||
|
||||||
|
@ -112,7 +109,6 @@ class MediaViewPage extends HookWidget {
|
||||||
Center(child: CircularProgressIndicator()),
|
Center(child: CircularProgressIndicator()),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue