源代码为书籍列表视图
特此抗议全是vip文章
new一个手势处理类,点击item直接打开:
booksGridGesture = new GestureDetector(context, new BooksGestureListener()); //手势处理为下面的私有自定义类
booksGrid.setOnItemClickListener(new BookLauncher());
booksGrid.setOnTouchListener(new OnTouchListener() { //触摸事件交给手势类处理
public boolean onTouch(View v, MotionEvent event) {
return booksGridGesture.onTouchEvent(event);
}
});
滑屏事件裁决,判断是否翻页并处理数据:
private class BooksGestureListener extends GestureDetector.SimpleOnGestureListener {
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
float tempx = e1.getX() - e2.getX();
if (Math.abs(tempx) > 70) {
if (tempx < 0) {
if (booksAdapter.setPrevPage()) { //翻页成功返回true
updatePageIndicator(booksAdapter); //更新页指示器
}
}
else {
if(booksAdapter.setNextPage()) {
updatePageIndicator(booksAdapter);
}
}
return true;
}
return super.onFling(e1, e2, velocityX, velocityY);
}
}