Flutter图像选择插件
官方的图像选择插件是image_picker
,这个插件简单易用,但是单选的,而且没有预览功能,因为想实现像微信多选及缩放预览功能,所以放弃它,试用muti_image_picker
,用上去还不错,但刚开始错误认为不支持缩放预览功能,所以又放弃,改用photo
,它能满足我“多选及缩放预览功能”功能,但是它有很多小问题,同时又不怎么维护,思前想后还是换回muti_image_picker
,细读文档发现默认不开启缩放预览功能,但实际支持的!
记录下遇到的一点问题(主要是当时偷懒没仔细读文档):
1、中文显示
默认是英文显示的,但是可以设置选项,改用中文显示。
MaterialOptions(
actionBarTitle: "选择图像",
allViewTitle: "所有图像",
// 显示所有照片,值为 false 时显示相册
startInAllView: false,
actionBarColor: '#00b1f5',
textOnNothingSelected: '没有选择图像',
useDetailsView: true,
selectionLimitReachedText: "超过最大选择数目."
)
2、开启图片预览功能
选项中设置 useDetailsView
为true即可。
MaterialOptions(
// 使用详情视图
useDetailsView: true
)
3、IOS上的问题
a) 因为调用到摄像头和相册,plist中要添加描述:
<key>NSPhotoLibraryUsageDescription</key>
<string>Example usage description</string>
<key>NSCameraUsageDescription</key>
<string>Example usage description</string>
b)可能遇到下述报错情况:
CocoaPods could not find compatible versions for pod "multi_image_picker": In Podfile: multi_image_picker (from
.symlinks/plugins/multi_image_picker/ios
) Specs satisfying themulti_image_picker (from
.symlinks/plugins/multi_image_picker/ios)
dependency were found, but they required a higher minimum deployment target.
其实官方文档上有特别描述:
The plugin supports Swift Version 5.0. Make sure you have this version set in your Build Settings -> SWIFT_VERSION Also you need to add platform :ios, '9.0' on top of your ios/Podfile .
翻译起来,具体操作就是:
打开flutter项目中的ios目录,Podfile最上面添加一行:platform :ios, '9.0'
大致就这些内容,遇到其它再补充。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- llvm 对 copy 属性的优化(1)
- Zookeeper 分布式技术入门
- llvm 对 copy 属性的优化(2)
- 为什么 Linux 默认页大小是 “4KB”?
- Swift Module Interfaces
- Swift 的 MemoryLayout 是如何工作的(1)
- Redis - NoSQL 和 Jedis 入门
- cargo manifest规则使用介绍
- 小程序bindinput和bindblur赋值延迟问题解决
- 小程序监听屏幕滑动事件
- 使用GithubActions发布Vue网站到GithubPage
- 3.QOpenGLWidget-通过着色器来渲染渐变三角形
- 特斯拉大半夜「见鬼」!空无一人的路上,它却看见「幽灵」秒刹车
- .NET 异步详解
- 他被导师半夜敲门叫醒:你得诺贝尔奖了!还曾为5G频谱拍卖设计方案,担任谷歌IPO咨询顾问