我正在尝试制作一个画廊应用程序。当我按下下一个按钮时,我有两个按钮用于“下一个”和“后退”,我需要显示下一个图像,我还需要通过滑动来更改图像。我尝试过使用图像适配器。但我不知道用按钮更改图像。
问问题
3090 次
3 回答
7
您可以创建新类来检测滑动并创建一个即时使用它。
公共类 SwipeDetect 实现 OnTouchListener {
private final GestureDetector gestureDetector = new GestureDetector(new GestureListener()); public boolean onTouch(final View view, final MotionEvent motionEvent) { return gestureDetector.onTouchEvent(motionEvent); } private final class GestureListener extends SimpleOnGestureListener { private static final int SWIPE_THRESHOLD = 100; private static final int SWIPE_VELOCITY_THRESHOLD = 100; @Override public boolean onDown(MotionEvent e) { return true; } @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { boolean result = false; try { float diffY = e2.getY() - e1.getY(); float diffX = e2.getX() - e1.getX(); if (Math.abs(diffX) > Math.abs(diffY)) { if (Math.abs(diffX) > SWIPE_THRESHOLD && Math.abs(velocityX) > SWIPE_VELOCITY_THRESHOLD) { if (diffX > 0) { onSwipeRight(); } else { onSwipeLeft(); } } } else { if (Math.abs(diffY) > SWIPE_THRESHOLD && Math.abs(velocityY) > SWIPE_VELOCITY_THRESHOLD) { if (diffY > 0) { onSwipeBottom(); } else { onSwipeTop(); } } } } catch (Exception exception) { exception.printStackTrace(); } return result; } } public void onSwipeRight() { } public void onSwipeLeft() { } public void onSwipeTop() { } public void onSwipeBottom() { } }
用它:
YourImageView.setOnTouchListener(new SwipeDetect() {
public void onSwipeRight() {
//Your code here
}
public void onSwipeLeft() {
//Your code here
}
});
您可以将其用于图像视图、布局...
于 2013-06-28T07:30:44.087 回答
1
尝试使用本教程作为参考来实现带有按钮的图库。
在本教程中,我将箭头按钮用于next和previous。
我在本教程中实现了更多功能。
喜欢:
屏幕中的拇指和完整图像视图。
从您选择突出显示的拇指图像中。
通过箭头按钮,您也可以更改图像(下一个/上一个)。
于 2013-06-28T08:56:15.550 回答