【发布时间】:2011-11-28 16:32:04
【问题描述】:
我已经编写了一个包含多张图片的可缩放图库。
- 图像可以缩放。
- 可以拖动缩放的图像。
- 如果图片没有缩放,图库可以滚动。
布局由LinearLayout 和TextView(画廊名称)和Gallery 本身组成。
画廊中的一个项目由一个RelativeLayout 组成,其中包含一个FrameLayout 和一个ImageView(我读到我需要FrameLayout 进行缩放)和一个TextView 来显示图像的缩放状态。
我使用自定义View.OnTouchListener 来实现缩放。
现在我试图用高分辨率图片替换ImageView 中的图片画廊已停止滚动,以便用户可以更好地/进一步放大。
我将OnItemSelectedListener 和setCallbackDuringFling 设置为false。
如果你快速甩动屏幕,即使这样也能正常工作。
但是,如果您将手指放在显示屏上并将其缓慢移动到边缘,OnItemSelectedListener 会在下一个项目到达之前触发中心和滚动动画停止。相反,画廊会像失去触摸接触一样跳跃,并立即将画廊中的下一个项目居中。此外,当手指缓慢移动时,OnItemSelectedListener 在同一个项目上被多次调用(我通过保存最后一个选定项目的位置来避免这个问题)。
所以(长话短说)我正在寻找Gallery 的“滚动/对齐网格”效果的回调/监听器。我也尝试了AnimationListener,但是当我在其上调用getAnimation 时,画廊返回null。
我在这里很绝望......有人可以帮忙吗?
【问题讨论】:
标签: android animation scroll gallery zooming