iielse / imageviewer

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

拖动图片超出范围后,OtherView不消失 #65

Closed MirkoWu closed 4 years ago

MirkoWu commented 5 years ago

当向下拖动图片,图片中心点超出屏幕底部时,松手,此时OtherView不消失。

iielse commented 4 years ago
interface OverlayCustomizer {
    fun provideView(parent: ViewGroup): View? = null
}
open class ViewerCallbackAdapter : 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) {}
    open fun onPageScrollStateChanged(state: Int) {}
    open fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) {}
    open fun onPageSelected(position: Int) {}
}

现在OverlayView(OtherView)的初始化基于OverlayCustomizer. 拖拽释放逻辑重做后, 必会触发ViewerCallbackAdapteronRestore或者onRelease 回调 可以在onRelease时机改变OverlayView的显示效果. 且ImageViewer基于Dialog.退出后不会有多余的视图“残留在界面上”