Closed MirkoWu closed 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
.
拖拽释放逻辑重做后, 必会触发ViewerCallbackAdapter
的onRestore
或者onRelease
回调
可以在onRelease时机改变OverlayView的显示效果.
且ImageViewer基于Dialog.退出后不会有多余的视图“残留在界面上”
当向下拖动图片,图片中心点超出屏幕底部时,松手,此时OtherView不消失。