使用image_picker新版本出现的异常
来源:6-16 拍照APP开发-图片获取与图片展示【实战尝鲜】
aiyoudiao
2021-05-19
image_picker插件我用的是image_picker: ^0.7.5+2这个版本的,复制的是官网的example的代码,下面是我的代码,我仔细对比了老师的代码以及查看了问答区,问答区出现的问题这个插件也进行了改进。麻烦老师看一下我的这个问题在哪里?
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:image_picker/image_picker.dart';
class PhotoApp extends StatefulWidget {
@override
_PhotoAppState createState() => _PhotoAppState();
}
class _PhotoAppState extends State<PhotoApp> {
File _image;
final picker = ImagePicker();
Future getImage(bool isTakePhoto) async {
Navigator.pop(context);
final pickedFile = await picker.getImage(
source: isTakePhoto ? ImageSource.camera : ImageSource.gallery);
setState(() {
if (pickedFile != null) {
_image = File(pickedFile.path);
} else {
print('No image selected.');
}
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('拍照APP开发'),
),
body: Center(
child: _image == null ? Text('No image selected.') : Image.file(_image),
),
floatingActionButton: FloatingActionButton(
onPressed: _pickImage(),
tooltip: '选择图片',
child: Icon(Icons.add_a_photo),
),
);
}
_pickImage() {
showModalBottomSheet(
context: context,
builder: (context) => Container(
height: 160,
child: Column(
children: [_item("拍照", true), _item("从相册选择图片", false)],
),
));
}
_item(String title, bool isTakePhoto) {
return GestureDetector(
child: ListTile(
leading: Icon(isTakePhoto ? Icons.camera_alt : Icons.photo_library),
title: Text(title),
onTap: () => getImage(isTakePhoto),
),
);
}
}
写回答
1回答
-
CrazyCodeBoy
2021-05-20
将_pickImage()改成剪头函数的调用方式
012021-05-20
相似问题