我正在创建一个图片库,如果我点击图像的网格视图,它将显示全屏图像。
现在,我想实现触摸屏或手指向左或向右滑动以更改图像的功能。
请问哪个事件应该使用或者该如何操作?
感谢任何帮助。
现在,我想实现触摸屏或手指向左或向右滑动以更改图像的功能。
请问哪个事件应该使用或者该如何操作?
感谢任何帮助。
您需要实现onTouchEvent函数并确定滑动实际发生的时间。没有内置的事件可以处理这种情况。
我在我的应用程序JustPictures中实现了这种行为,目的完全相同。我是通过onTouchEvent(MotionEvent event)
来实现的:
if(event.getAction()==MotionEvent.ACTION_MOVE){...}
您可以使用event.getX()
获取手指的X位置,并计算自上次接收事件以来的偏移量。然后,您可以更新一个私有于您的视图的偏移变量,并使用postInvalidate()
进行刷新。然后,您的onDraw
方法负责通过当前偏移量来转换画布。
我已经使用了onGesturePerformed回调函数,但是你必须使用模拟器记录手势模式,将模式保存在res中,并执行以下操作:
Activity:
mLibrary = GestureLibraries.fromRawResource(this, R.raw.gestures);
if (!mLibrary.load()) {
finish();
}
GestureOverlayView gestures = (GestureOverlayView)
findViewById(R.id.gestures);
gestures.addOnGesturePerformedListener(this);
public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) {
ArrayList<Prediction> predictions = mLibrary.recognize(gesture);
if (predictions.size() > 0 && predictions.get(0).score > 1.0) { ... }}