使用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
相似问题
