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,画廊可能仍在滚动以将当前项目居中。我想在项目居中后替换图像。