Android Gallery-停止滚动后替换ImageView中的位图

Android Gallery-停止滚动后替换ImageView中的位图,android,animation,scroll,gallery,zooming,Android,Animation,Scroll,Gallery,Zooming,我已经设计了一个可缩放的图库,里面有几个图像 图像可以缩放 可以拖动缩放的图像 如果图像未缩放,则可以滚动图库 布局包括一个带有文本视图的线性布局(库名)和库本身 库中的项目包括一个RelativeLayout,其中包含一个FrameLayout,其中包含ImageView(我读到我需要FrameLayout进行缩放),以及一个TextView以显示图像的缩放状态 我使用了一个自定义的视图.OnTouchListener来实现缩放 现在,我试图在画廊停止使用高分辨率图片滚动后,替换Image

我已经设计了一个可缩放的图库,里面有几个图像

  • 图像可以缩放
  • 可以拖动缩放的图像
  • 如果图像未缩放,则可以滚动图库
布局包括一个带有
文本视图的
线性布局
(库名)和
库本身

库中的项目包括一个
RelativeLayout
,其中包含一个
FrameLayout
,其中包含
ImageView
(我读到我需要FrameLayout进行缩放),以及一个
TextView
以显示图像的缩放状态

我使用了一个自定义的
视图.OnTouchListener
来实现缩放

现在,我试图在画廊停止使用高分辨率图片滚动后,替换
ImageView
中的图像,以便用户可以更好地/进一步放大

我是用
OnItemSelectedListener
setCallback将
设置为false来实现的

如果你快速打开屏幕,即使这样也能正常工作。
但是,如果您将手指放在显示器上,并将其缓慢地移动到边缘,则在下一个项目到达中心且滚动动画停止之前,
OnItemSelectedListener
将被触发。取而代之的是,多媒体资料会跳跃,就像它松开了触摸接触一样,并立即将多媒体资料中的下一个项目居中。另外,当缓慢移动手指时,会对同一项目多次调用
OnItemSelectedListener
(我通过保存最后一个选定项目的位置来避免此问题)

所以(长话短说)我在寻找一个回调/监听器,以响应
图库
的“滚动/捕捉到网格”效果。我还尝试了一个
AnimationListener
,但是当我调用
getAnimation
时,该库返回null


我在这里绝望。。。有人能帮忙吗?

我建议对你的方法稍作修改。对于您的多媒体资料,覆盖
onScroll(MotionEvent,MotionEvent,float,float)
onFling(MotionEvent,MotionEvent,float,float)
让它们返回super,但在MotionEvent.ACTION|u DOWN | MotionEvent.ACTION|u分别将移动标志设置为true | false


现在在getView(int、View、ViewGroup)中的库的BaseAdapter中方法返回图像视图时,如果移动标志为真,则返回低分辨率图像视图,否则返回高分辨率。

问题已解决:我现在使用
android.support.v4.view.ViewPager
,在
OnPageChangeListener
中使用自定义回调:

  • onPageSelected
  • onPageScrollStateChanged
  • onPageScrolled

谢谢你的提示,但是下一个项目一出现(滚动)就会调用
getView(…)
。另外,我已经试着让图像依赖于手势。但这对我来说也不起作用,因为如果你有MotionEvent.ACTION\u,画廊可能仍在滚动以将当前项目居中。我想在项目居中后替换图像。