代码拉取完成,页面将自动刷新
主要使用了第三方图片库 zmtzawqlp
的 fluttercandies/extended_image
对多个图片/视频大图查看器封装,支持自定义图片、视频和滑动效果等多种样式配置,具有高扩展性。
目前主要支持功能
pubspec.yaml
配置文件引入
photo_preview:
git:
url: $仓库地址
ref: master
调用 PhotoPreviewPage.navigatorPush(...)
方法
PhotoPreviewPage.navigatorPush(context, PhotoPreviewDataSource(
imgVideoFullList: [
PhotoPreviewInfoVo(
url:"https://s1.ax1x.com/2020/09/17/wR3WnI.jpg",
loadingCoverUrl: "https://s1.ax1x.com/2020/09/17/wR3WnI.md.jpg",
type: PhotoPreviewType.image
),
PhotoPreviewInfoVo(
url: "https://v-cdn.zjol.com.cn/277001.mp4",
loadingCoverUrl:"https://s1.ax1x.com/2020/09/17/wR8uCD.jpg",
type: PhotoPreviewType.video
),
PhotoPreviewInfoVo(
url: "https://s1.ax1x.com/2020/09/17/wR0NmF.jpg",
loadingCoverUrl: "https://s1.ax1x.com/2020/09/17/wR0NmF.md.jpg",
type: PhotoPreviewType.image
),
PhotoPreviewInfoVo(
url: "https://s1.ax1x.com/2020/09/17/wR3H3Q.jpg",
loadingCoverUrl: "https://s1.ax1x.com/2020/09/17/wR3H3Q.md.jpg",
type: PhotoPreviewType.image
)
]
));
PhotoPreviewDataSource字段
参数 | 说明 | 默认值 |
---|---|---|
imgVideoUrlList | 仅有资源路径(优先级低) | null |
imgVideoFullList | 完整数据源路径(优先级低) | null |
initialUrl | 初始url(优先级高) | null |
initialPage | 初始页(优先级低) | null |
1.单数据
通过 PhotoPreviewDataSource.single
构建查看单图数据源
PhotoPreviewPage.navigatorPush(
context,
PhotoPreviewDataSource.single(
"https://s1.ax1x.com/2020/09/17/wR3WnI.jpg",
loadingCoverUrl:"https://s1.ax1x.com/2020/09/17/wR3WnI.md.jpg",
heroTag: tag
));
2.List数组数据
利用json编解码构建数据源list
参数 | 说明 | 默认值 |
---|---|---|
list(必填) | 自定义实体数组 | null |
mapToUrlKey | 资源文件url对应字段 | url |
mapToLoadingCoverUrlKey | 预加载url对应字段 | loadingCoverurl |
mapToExtraKey | 额外传值对应字段 | extra |
mapToHeroTagKey | herotag标志 | heroTag |
mapToTypeKey | 资源类型对应字段 | type |
extraTransformFunc等相关 | 自定义处理结果 | (非基本类型需实现该方法) |
initialUrl | 初始url(优先级高) | null |
initialPage | 初始页(优先级低) | null |
PhotoPreviewPage.navigatorPush(
context,
PhotoPreviewDataSource.fromMap(resultList,
mapToUrlKey: "picurl",
mapToLoadingCoverUrlKey: "spicurl",
mapToExtraKey: "data",
mapToHeroTagKey: "id",
extraTransformFunc: (extraMap){
return {
'title':extraMap["extra1"],
'intro':extraMap["extra1"]
};
}),
imageDelegate: CommonWithInfoImageDelegate(),
videoDelegate: CommonWithInfoVideoDelegate());
3.直接构造数据源
直接将转换好的 PhotoPreviewDataSource
传值
PhotoPreviewPage.navigatorPush(context, PhotoPreviewDataSource(
imgVideoFullList: [
PhotoPreviewInfoVo(
url:"https://s1.ax1x.com/2020/09/17/wR3WnI.jpg",
loadingCoverUrl: "https://s1.ax1x.com/2020/09/17/wR3WnI.md.jpg",
type: PhotoPreviewType.image
),
PhotoPreviewInfoVo(
url: "https://v-cdn.zjol.com.cn/277001.mp4",
loadingCoverUrl:"https://s1.ax1x.com/2020/09/17/wR8uCD.jpg",
type: PhotoPreviewType.video
),
PhotoPreviewInfoVo(
url: "https://s1.ax1x.com/2020/09/17/wR0NmF.jpg",
loadingCoverUrl: "https://s1.ax1x.com/2020/09/17/wR0NmF.md.jpg",
type: PhotoPreviewType.image
),
PhotoPreviewInfoVo(
url: "https://s1.ax1x.com/2020/09/17/wR3H3Q.jpg",
loadingCoverUrl: "https://s1.ax1x.com/2020/09/17/wR3H3Q.md.jpg",
type: PhotoPreviewType.image
)
]
));
待完善文档...
待完善文档...
待完善文档...
待完善文档...
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。