iielse / imageviewer

A simple and customizable Android full-screen image viewer 一个简单且可自定义的Android全屏图像浏览器
MIT License
2.23k stars 310 forks source link

最新版有 java版本 的demo吗 #98

Closed wangrui460 closed 4 years ago

wangrui460 commented 4 years ago

更新了最新版,没有之前的1.1.5用着舒服,initKey不管我传多少,结果都是从第一张图开始显示,点击返回也没有了

iielse commented 4 years ago

之前1.1.5的核心实现方案由于没有采用图片区块加载,https://github.com/iielse/imageviewer/issues/27 导致无法加载大图。 这个当时我个人认为是致命伤,就停住了。 后来经过了很长时间的思考,各种实际情况细节的体验,整理,方方面面,最终重构做出了这个2.x。 2.x改变了基础实现原理。在接口设计的方面确实没有原来那么简单。 但更灵活了,提供了更多的拓展,适用于更多的场景。

关于java版本demo, 后面会找机会加入一个。

可以先运行下该项目demo,如果我没理解错的话 应该不存在都是从第一张图开始的问题,点击返回指的是点击按钮[比如叉号]的话 demo上也是有的。

iielse commented 4 years ago

有 java 版本的 调用代码了 MainJavaActivity7 你看下

wangrui460 commented 4 years ago

好的👌

iielse commented 4 years ago

'initKey不管我传多少,结果都是从第一张图开始显示' 我想问下 这你实现 DataProvider 的 loadInitial 给的是多个item对吗?

iielse commented 4 years ago

刚刚修复了了一个bug。 如果不需要异步加载 可以在 DataProvider的 init 里面返回全量数据。 这种情况下初始化定位确实有问题. 我补了一句 viewer.setCurrentItem(it.indexOfFirst { it.id == initKey }, false) 开始有的 后来不知道为什么删了. 哎. 后面要发新版本了

iielse commented 4 years ago

调用方面 java版本和 kotlin版本 区别不大. 同志加油

wangrui460 commented 4 years ago
image

问题1:java 只能访问到 UNKNOWN 问题2:在如图静态方法里,如何dismiss?

iielse commented 4 years ago

通过 ViewModelProvider(activity).get(ImageViewerActionViewModel::class.java)获取viewer 操作对象引用

final ImageViewerActionViewModel actionViewModel = ViewModelProvider(activity).get(ImageViewerActionViewModel.class);
actionViewModel.dismiss();
iielse commented 4 years ago

ItemType.INSTANCE.PHOTO

iielse commented 4 years ago

你可以加我qq问.qq在github个人信息有贴. 加油早日kotlin