适用于iOS和Android的Flutter插件,用于从图像库中拾取图像,并使用相机拍摄新照片。
添加依赖
dependencies:
image_picker: ^0.5.0+3
安装
flutter packages get
导入
import 'package:image_picker/image_picker.dart';
iOS
将以下键添加到位于<project root> /ios/Runner/Info.plist
中的Info.plist文件中:
- NSPhotoLibraryUsageDescription - 描述您的应用需要照片库权限的原因。这在可视化编辑器中称为隐私 - 照片库使用说明
- NSCameraUsageDescription - 描述您的应用需要访问相机的原因。这在可视化编辑器中称为隐私 - 相机使用说明
- NSMicrophoneUsageDescription - 如果您打算录制视频,请说明您的应用需要访问麦克风的原因。这在可视化编辑器中称为隐私 - 麦克风使用说明。
Android
无需配置 - 插件应该开箱即用。
实例
import 'package:image_picker/image_picker.dart';
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
File _image;
Future getImage() async {
var image = await ImagePicker.pickImage(source: ImageSource.camera);
setState(() {
_image = image;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Image Picker Example'),
),
body: Center(
child: _image == null
? Text('No image selected.')
: Image.file(_image),
),
floatingActionButton: FloatingActionButton(
onPressed: getImage,
tooltip: 'Pick Image',
child: Icon(Icons.add_a_photo),
),
);
}
}