I am trying to make a gallery app.I have two buttons for 'next' and 'back' when i press on next button the i need to show the next image also i need to change the images by swiping. I have tried with image adapter. but i dont know to change the images with buttons.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
Try to use this tutorial for your reference to implement the Gallery with buttons.
In this tutorial I use Arrow buttons for next and previous.
I implement some more functionality in this tutorial.
like:
thumb and full image view in the screen.
from thumb images which you select that highlight.
By Arrow buttons also you change the images(next/previous).
回答2:
You can create new class to detect swipe and create an instant to use it.
public class SwipeDetect implements 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() { } }
Use it:
YourImageView.setOnTouchListener(new SwipeDetect() {
public void onSwipeRight() {
//Your code here
}
public void onSwipeLeft() {
//Your code here
}
});
You can use it for imageview, layout...
回答3:
Try with this one for starting point. You can also implement the tutorial shown here.