如何在eclipse中创建图像滑块?
我想,当手指在imageView上从左向右移动或从右向左移动时,我想要更改照片。
答案 0 :(得分:1)
不需要做任何自定义的事情。因为Android在ViewFlipper类中提供了这样的工具。它实际上是为它做的。
简单的ViewAnimator,可以在两个或多个视图之间设置动画 已添加到它。一次只能展示一个孩子。如果 要求,可以在每个孩子之间自动翻转 间隔。
非常好,也内置了对动画的支持,所以只需将它用于此目的。 要在您的应用程序中实现ViewFlipper,我正在分享一些很好的教程..
您还可以在此处获取更多信息。 http://developer.android.com/reference/android/widget/ViewFlipper.html
享受..!
答案 1 :(得分:0)
查看寻呼机refer this是一个选项,否则您可以在图像视图中添加一个简单的手势监听器。
//将手势监听器添加到图像视图。
final GestureDetector gdt = new GestureDetector(new GestureListener());
final ImageView imageView = (ImageView) findViewById(R.id.image_view);
imageView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(final View view, final MotionEvent event) {
gdt.onTouchEvent(event);
return true;
}
});
//手势监听器类
private class GestureListener extends SimpleOnGestureListener {
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
if(e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
//load previous image here
return false; // Right to left
} else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
//load next image here
return false; // Left to right
}
if(e1.getY() - e2.getY() > SWIPE_MIN_DISTANCE && Math.abs(velocityY) > SWIPE_THRESHOLD_VELOCITY) {
return false; // Bottom to top
} else if (e2.getY() - e1.getY() > SWIPE_MIN_DISTANCE && Math.abs(velocityY) > SWIPE_THRESHOLD_VELOCITY) {
return false; // Top to bottom
}
return false;
}
}