iielse / imageviewer

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

查看大图根据每一张图片设置loading,或者也可以叫加载过程中的图片 #72

Closed ChenBu2 closed 4 years ago

ChenBu2 commented 5 years ago

你好,我想在点开图片时,loading为每一张之前已经加载完的小图列表里的缓存,然后到真正大图加载完过后,在显示大图的实际图片,这样可以吗,谢谢

iielse commented 4 years ago
interface VHCustomizer {
    fun initialize(type: Int, viewHolder: RecyclerView.ViewHolder) {}
    fun bind(type: Int, data: Photo, viewHolder: RecyclerView.ViewHolder) {}
}
interface ImageLoader {
    fun load(view: ImageView, data: Photo, viewHolder: RecyclerView.ViewHolder)
    fun load(subsamplingView: SubsamplingScaleImageView, data: Photo, viewHolder: RecyclerView.ViewHolder)
}

关于加载的过程.我将Loader的接口进行了调整. 现在框架不关心数据源是什么,也不关心加载过程.全权交给开发者. 你需要实现 VHCustomizer 中重新布局PhotoViewHolder追加自定义元素,比如你的loadingUI. 在ImageLoader load 中去控制 load 的状态表现.

Glide.with().load().thumbnail().into() 你希望预先缩略占位图可能可以通过设置thumbnail将之前下载好的位图传递进去. 或者使用Picasso自带“一图多用”功能?~