I am developing a flutter application. I want zoom image and want to work pinch. It working fine but when i taking my finger it is removing zoom. My need is want to drag and zoom using pinch when taking finger don't want to clear. I am using 'cached_network_image' for loading image. For zooming i am using my customize library from 'pinch_zoom_image' plugin.
The source code is https://github.com/YoussefKababe/pinch_zoom_image/blob/master/lib/src/pinch_zoom_image.dart
In this code i try to implement '_handleScaleEnd()' function. but i didn't solve my issue.
My code is shown below.
pubspec.yaml
cached_network_image: ^0.8.0 pinch_zoom_image: ^0.2.5
main.dart
import 'package:flutter/material.dart';
import 'pinch_zoom_image_custom.dart';
import 'package:cached_network_image/cached_network_image.dart';
void main() => runApp(new MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'Pinch Zoom Image',
theme: new ThemeData(
primarySwatch: Colors.blue,
),
home: Scaffold(
appBar: AppBar(
title: Text('Pinch Zoom Image'),
),
body: ListView(
children: <Widget>[
Container(
padding: EdgeInsets.all(16.0),
child: PinchZoomImage(
image: CachedNetworkImage(
imageUrl: 'https://i.imgur.com/tKg0XEb.jpg',
),
zoomedBackgroundColor: Color.fromRGBO(240, 240, 240, 1.0),
onZoomStart: () {
print('Zoom started');
},
onZoomEnd: () {
print('Zoom finished');
},
),
),
],
),
),
);
}
}
pinch_zoom_image_custom.dart
import 'package:flutter/material.dart';
import 'pinch_zoom_image_custom.dart';
import 'package:cached_network_image/cached_network_image.dart';
void main() => runApp(new MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'Pinch Zoom Image',
theme: new ThemeData(
primarySwatch: Colors.blue,
),
home: Scaffold(
appBar: AppBar(
title: Text('Pinch Zoom Image'),
),
body: ListView(
children: <Widget>[
Container(
padding: EdgeInsets.all(16.0),
child: PinchZoomImage(
image: CachedNetworkImage(
imageUrl: 'https://i.imgur.com/tKg0XEb.jpg',
),
zoomedBackgroundColor: Color.fromRGBO(240, 240, 240, 1.0),
onZoomStart: () {
print('Zoom started');
},
onZoomEnd: () {
print('Zoom finished');
},
),
),
],
),
),
);
}
}