IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Flutter之图片选择器image_picker -> 正文阅读

[移动开发]Flutter之图片选择器image_picker

前言:image_picker可以camera拍照,也可以从gallery相册中选择。
1.导入库image_picker: ^0.7.4
2.demo

class MyIndexedStack extends StatefulWidget{
  @override
  State<StatefulWidget> createState() {
    return _MyIndexedStack();
  }
}
class _MyIndexedStack extends State<MyIndexedStack>{
  int _pageIndex = 0;
  final ImagePicker picker = new ImagePicker();
  String str11 = "http://pic1.win4000.com/pic/2/4e/f0a80319bd.jpg";
  var str1 ;
  String str22 = "http://pic1.win4000.com/pic/d/dc/95bb6142d5_250_350.jpg";
  var str2  ;
  @override
  Widget build(BuildContext context) {
        return MaterialApp(
          debugShowCheckedModeBanner: false,
          home: Scaffold(
            body: IndexedStack(
              children: [
                str1==null?Image.network(str11):Image.file(File(str1),fit: BoxFit.fill,),
                str2==null?Image.asset('assets/images/person_top_bg.jpg'):Image.file(File(str2),fit: BoxFit.fill,),
              ],
              index: _pageIndex,
            ),
            floatingActionButton: FloatingActionButton(
              onPressed: (){
                _pageIndex = _pageIndex==0?1:0;
                if(_pageIndex==1){
                  _getCameraImage();
                }else{
                  _getGalleryImage();
                }
                setState(() {

                });
              },
              child: Icon(Icons.add),
            ),
          )

        );
  }
  //进入系统相机拍照,str1就是拍的图片的路径
  Future _getCameraImage() async{
     final cameraImages = await picker.getImage(source: ImageSource.camera);
     if(mounted){
       setState(() {
         if(cameraImages!=null){
           str1 = cameraImages.path;
           print('camera路径为:${cameraImages.path}');
         }
       });
     }
  }
  //进入系统相册,str2就是选择的图片的地址
  Future _getGalleryImage() async{
    final galleryImages = await picker.getImage(source: ImageSource.gallery);
    if(mounted){
      setState(() {
        if(galleryImages!=null){
          str2 = galleryImages.path;
          print('gallery路径为:${galleryImages.path}');
        }
      });
    }
  }
}

//从网络上读取
Image.network(str11):Image.file(File(str1),fit: BoxFit.fill,)
//从本地应用内读取
Image.asset(‘assets/images/person_top_bg.jpg’)
//从手机内存中读取
Image.file(File(str2),fit: BoxFit.fill,)

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-08-03 11:19:29  更:2021-08-03 11:21:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/5 19:31:08-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码