import 'dart:io'; import 'dart:typed_data'; import 'package:image_picker/image_picker.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:photo_view/photo_view.dart'; import '../Model/unit.dart'; import '../main.dart'; class PhotoViewer extends StatefulWidget { Uint8List byte; String? id; List? dropMenu; bool edit; String? jenis; PhotoViewer(this.byte,{this.id,this.edit= true,this.dropMenu,this.jenis}); // PhotoViewer({Key key}) : super(key: key); @override _PhotoViewerState createState() => _PhotoViewerState(); } class _PhotoViewerState extends State { @override Widget build(BuildContext context) { return Column( children: [ Flexible( flex: 8, child: Container( child: Hero( tag: widget.id??'', child: PhotoView( imageProvider: MemoryImage(widget.byte), ), ), ), ), Expanded( flex: 1, child: Material( color: Colors.transparent, child: Container( child: Text(widget.jenis??'',style: TextStyle(color: Colors.white,fontSize: 18),), ), ), ), (widget.edit)?Flexible( flex: 1, child: Row( crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ TextButton( child: Text('Cancel'), style: TextButton.styleFrom( backgroundColor: Colors.red ), onPressed: (){Navigator.pop(context);}, ), TextButton( child: Text('Change'), style: TextButton.styleFrom( backgroundColor: Colors.green ), onPressed: ()async{ XFile? temp = await ImagePicker().pickImage(source: ImageSource.camera,maxWidth: 800); if(temp!=null){ util.showLoading(context); widget.byte = await temp.readAsBytes(); setState(() { }); await Future.delayed(Duration(seconds: 1)); } Navigator.pop(context); if(temp!= null)Navigator.pop(context,{'byte':widget.byte}); }, ), ], ), ):Container() ], ); } }