我在图库视图中有四个图像。当我们从左到右或从右到左滑动时,画廊视图会移动所有图像,即如果从第一个图像从左向右滑动,则会移动到所有四个图像。将Gallery视图移动到Android中的一次滑动中的下一个图像?
我想要的是,当我滑动它应该只移动到下一个图像。有人能告诉我这是怎么可能的?
希望很快得到答复。
问候 苏尼尔
我在图库视图中有四个图像。当我们从左到右或从右到左滑动时,画廊视图会移动所有图像,即如果从第一个图像从左向右滑动,则会移动到所有四个图像。将Gallery视图移动到Android中的一次滑动中的下一个图像?
我想要的是,当我滑动它应该只移动到下一个图像。有人能告诉我这是怎么可能的?
希望很快得到答复。
问候 苏尼尔
您可以实现这不使用库:把一个ImageView的你的布局,并使用GestureListener检测挥笔。在左侧或右侧滑动,在适当的方向上循环访问imageList,并在ImageView中设置图像。设置图像时,播放适当的幻灯片左侧或幻灯片右侧的动画。
我发现操纵默认行为画廊小部件不平凡;这只是一种选择。 – Samuh 2010-04-15 12:35:55
我通过创建CustomGallery
类来实现此目的,该类扩展了Gallery
。然后我重写了Gallery
的onFling
方法。在onFling
方法中,只需返回false。这将导致图库仅在调用onFling
时才移动到下一张图像。
精彩,如此简单。非常感谢。 – ernazm 2011-09-05 16:21:42
这样做的不足之处在于它不够流畅 - 当投掷动画时,动画就在那里,但照片返回到当前照片而不是下一张照片。 – 2012-07-22 10:37:55
使用ViewFlipper
概念与概念一扔......尝试使用此评论
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,float velocityY)
{
if (Math.abs(e1.getY() - e2.getY()) > 50)
return false;
if(e1.getX() - e2.getX() > 10 && Math.abs(velocityX) > 10)
{
vf.showNext();
}
else if (e2.getX() - e1.getX() > 10 && Math.abs(velocityX) > 10)
{
vf.showPrevious();
}
return false;
}
难道你要扩展基本画廊?如果是这样,你可以发布你写的onFling覆盖? – TheDeuce 2011-01-25 00:09:29
重复的http://stackoverflow.com/questions/4311854/how-can-i-limit-fling-in-android-gallery-to-just-one-item-per-fling – 2012-07-22 10:41:32