From d550a5c881169c24acb9d91260201e2bc1017dd6 Mon Sep 17 00:00:00 2001 From: odrevet Date: Fri, 31 May 2019 16:11:29 +0200 Subject: [PATCH] on long press avatar in tombidoscope display image in fullscreen --- lib/account.dart | 2 +- lib/trombidoscope.dart | 21 ++++++++++++++++++++- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/lib/account.dart b/lib/account.dart index 182a25d..bdceee9 100644 --- a/lib/account.dart +++ b/lib/account.dart @@ -156,7 +156,7 @@ class AccountPageWidget extends StatelessWidget { }, fullscreenDialog: true)); } - + Widget _buildView(BuildContext context, Account account) { final url = baseUri + account.avatar; final image = NetworkImage(url); diff --git a/lib/trombidoscope.dart b/lib/trombidoscope.dart index ba1873b..86a78f4 100644 --- a/lib/trombidoscope.dart +++ b/lib/trombidoscope.dart @@ -83,12 +83,28 @@ class _TrombidoscopeWidgetState extends State { ); } + _openAvatarViewerDialog(context, image){ + Navigator.of(context).push(MaterialPageRoute( + builder: (BuildContext context) { + return Container( + decoration: BoxDecoration( + image: DecorationImage( + image: image, + fit: BoxFit.cover, + ), + ), + ); + }, + fullscreenDialog: true)); + } + Widget _buildView( BuildContext context, Map accountLinks) { var rows = []; accountLinks.forEach((img, accountLink) { - var url = baseUri + img; + final url = baseUri + img; + rows.add(GestureDetector( onTap: () { Navigator.push( @@ -97,6 +113,9 @@ class _TrombidoscopeWidgetState extends State { builder: (context) => AccountPageWidget( account: fetchAccount(accountLink.id)))); }, + onLongPress: () { + _openAvatarViewerDialog(context, NetworkImage(url)); + }, child: Container( child: Text(accountLink.name, style: _font), decoration: BoxDecoration(