1
0
mirror of https://gitlab.com/comunic/comunicmobile synced 2024-11-25 22:39:22 +00:00

Create widget for fullscreen image

This commit is contained in:
Pierre HUBERT 2020-04-25 15:36:07 +02:00
parent 4b0b41a902
commit bb62a3a159
2 changed files with 31 additions and 10 deletions

View File

@ -0,0 +1,29 @@
import 'package:cached_network_image/cached_network_image.dart';
import 'package:comunic/utils/intl_utils.dart';
import 'package:flutter/material.dart';
import 'package:photo_view/photo_view.dart';
/// Full screen image details
///
/// @author Pierre Hubert
class FullScreenImageRoute extends StatefulWidget {
final String url;
FullScreenImageRoute(this.url) : assert(url != null);
@override
_FullScreenImageRouteState createState() => _FullScreenImageRouteState();
}
class _FullScreenImageRouteState extends State<FullScreenImageRoute> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(tr("Image")),
),
body: PhotoView(imageProvider: CachedNetworkImageProvider(widget.url)),
);
}
}

View File

@ -1,9 +1,8 @@
import 'package:cached_network_image/cached_network_image.dart';
import 'package:comunic/helpers/preferences_helper.dart'; import 'package:comunic/helpers/preferences_helper.dart';
import 'package:comunic/ui/routes/full_screen_image.dart';
import 'package:comunic/utils/intl_utils.dart'; import 'package:comunic/utils/intl_utils.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:html/parser.dart'; import 'package:html/parser.dart';
import 'package:photo_view/photo_view.dart';
/// User interface utilities /// User interface utilities
/// ///
@ -69,14 +68,7 @@ Widget buildErrorCard(String message,
/// Show an image with a given [url] in full screen /// Show an image with a given [url] in full screen
void showImageFullScreen(BuildContext context, String url) { void showImageFullScreen(BuildContext context, String url) {
Navigator.of(context).push(MaterialPageRoute(builder: (c) { Navigator.of(context).push(MaterialPageRoute(builder: (c) {
return Scaffold( return FullScreenImageRoute(url);
appBar: AppBar(
title: Text(tr("Image")),
),
body: PhotoView(
imageProvider: CachedNetworkImageProvider(url),
),
);
})); }));
} }