Flutter 拍照或选择照片

一般的项目中,我们都会用到拍照或者使用照片,这里我们就介绍下flutter的插件。image_picker

在pubspec.yaml中添加依赖

dependencies:
image_picker: ^0.6.2+3

You can install packages from the command line:

with Flutter:

$ flutter pub get

对于iOS的开发者千万不要忘了权限问题。

<key>NSPhotoLibraryUsageDescription</key>
	<string>请允许访问</string>
	<key>NSCameraUsageDescription</key>
	<string>请允许访问</string>
	<key>NSMicrophoneUsageDescription</key>
	<string>请允许访问</string>

在dart文件中导入

import 'package:image_picker/image_picker.dart';

效果如下:
在这里插入图片描述
具体代码如下:

import 'dart:ui';

import 'package:flutter/material.dart';
import 'package:image_picker/image_picker.dart';
// import 'package:multi_image_picker/multi_image_picker.dart';


class MinePage extends StatelessWidget{
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: new Scaffold(
        appBar: new AppBar(
          title: Text("我的"),
        ),
        body: BodyWidget(),
      ),
      );
  }
}


class BodyWidget extends StatefulWidget{
  @override
  State<StatefulWidget> createState() {
    // TODO: implement createState
    return new BoduState();
  }
}

class BoduState extends State<BodyWidget>{

  var imageSrc;

  /*相册*/
  _openGallery() async {
    // var list =
    //     await MultiImagePicker.pickImages(maxImages: 9, enableCamera: true);
    // print("object $list");
    var image = await ImagePicker.pickImage(source: ImageSource.gallery);
    setState(() {
      imageSrc = image;
    });
    print("image $image");
  }

  @override
  Widget build(BuildContext context) {
    return Container(
      padding: EdgeInsets.all(15),
      child: Column(
        children: <Widget>[
          this.imageSrc == null ? Center(
        child: Text("请选择图片或拍照"),
      ) : Image.file(this.imageSrc),
          RaisedButton(
            onPressed: _openGallery,
            child: Text("选择照片"),
          )
        ],
      ),
    );
  }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值