LuckyJayce / LargeImage

Android 加载大图 可以高清显示10000*10000像素的图片,轻松实现微博长图功能
Apache License 2.0
2.33k stars 416 forks source link

请教实现图片循环展示 #6

Closed LandChanning closed 7 years ago

LandChanning commented 8 years ago

@LuckyJayce 看到更新了,最近一直在研究这个库,有注释清晰了许多,感谢。

最近项目需求:滑动时将图片进行循环展示,如下示意图所示。 shiyitu

我想在这个库的基础上进行扩展,目前的做法是在ScrollView中添加两个LargeImageView,基本能实现出效果,但是总感觉不是最优解。而且后续还有添加图片覆盖物等各种需求,感觉这个方式不太好处理。

另一个想法是在getDrawData中进行处理,将x轴方向超出图片边界的部分,用图片头部或尾部进行补充,可是一直没实现出来。

而且如果用这种方式的话,如果一直向一个方向滑动,Scale的fromX是会一直增加或一直减少的,如何重置状态也没有想出好的办法。

请问@LuckyJayce能否指点一二,万分感谢。

LuckyJayce commented 8 years ago

你显示图片比较大么?为什么需要我这个。 简单点的话,你可以RecyclerView实现,getCount 值int最大值,设置position在中间,就达到了类似可以无限的效果 麻烦点的话,就自己自定义View,View直接屏幕大,实现好像ScrollView的手势,然后再通过滚动的位置去计算显示的图片区域

LandChanning commented 8 years ago

是很大的全景图,我最开始也是直接自定义View,然后根据手势使用BitmapRegionDecoder去截取不同的图片显示,但是很卡,性能很差。

你的库在性能和缓存方面给了我很大的提示,所以想借鉴图片加载的方式。

只是在滑动到边界位置如何计算并显示图片块,卡住了,不知道怎么处理。。。

LuckyJayce commented 8 years ago

我不明白的是为什么是添加两个LargeImageView 你全景图到底要显示几个啊

LandChanning commented 8 years ago

就一个啊,但是滑到边界还不知怎么处理,领导又要看效果,所以先用了两个LongImageView2来实现循环的效果。

就是滑到3/4的位置时,将前面的移除,然后再后面添加一个,权宜的做法。

现在想找更好的做法。

LuckyJayce commented 8 years ago

我上面说的RecyclerView方案不行么?

LandChanning commented 8 years ago

如果用RecyclerView的话,是先把图片裁成一些块,然后填充到item中吗?

LuckyJayce commented 8 years ago

一个LongImageView2作为一个item啊 一个图片用一个LongImageView2显示

LandChanning commented 8 years ago

好的,我试下,谢谢