iielse / imageviewer

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

大佬,问个问题 #126

Closed keternity closed 3 years ago

keternity commented 3 years ago

看项目的gif演示,开始动画的时候,原图是消失的(出现了一个空白的区域),但是运行最新的demo,发现开始动画的时候,是原图不消失的,我想要原图消失的功能,大佬,能提供一下么。膜拜!!!! image

iielse commented 3 years ago
// viewer 各状态监听回调
interface ViewerCallback : ImageViewerAdapterListener {
    // 当点击缩略图变化大图的瞬间
    override fun onInit(viewHolder: RecyclerView.ViewHolder) {}
    // 当图片被拖动时
    override fun onDrag(viewHolder: RecyclerView.ViewHolder, view: View, fraction: Float) {}
    // 当图片被拖动但不至于退出浏览
    override fun onRestore(viewHolder: RecyclerView.ViewHolder, view: View, fraction: Float) {}
    // 当图片被拖动执行退出浏览
    override fun onRelease(viewHolder: RecyclerView.ViewHolder, view: View) {}
    // 翻页中状态变化
    fun onPageScrollStateChanged(state: Int) {}
    // 翻页中
    fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) {}
    // 当某大图页面被选中
    fun onPageSelected(position: Int, viewHolder: RecyclerView.ViewHolder) {}
}

在 onInit回调或者你调用 show 方法的时候把你自己的ImageView换成INVISIBLE. 当触发回调onRelease的时候换回 VISIBLE 当时大体是这个思路. 需要注意切换图片后,原图的可见性也是需要相应变化的.

keternity commented 3 years ago

好的,谢谢大佬