源代码为书籍列表视图
特此抗议全是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);
}
}
本文介绍了一种书籍列表视图的手势控制实现方法,通过自定义手势处理类实现点击打开书籍条目及滑动手势翻页的功能。该方法利用GestureDetector处理触摸事件,根据手指滑动方向自动翻到上一页或下一页。
1万+





