Skip to content

Commit dde34e4

Browse files
committed
Change navigaion open action trigger to sigle tab
1 parent 5fa9d38 commit dde34e4

File tree

1 file changed

+37
-16
lines changed

1 file changed

+37
-16
lines changed

OCEBook/app/src/main/java/com/devgrapher/ocebook/util/WebViewMotionHandler.java

Lines changed: 37 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,25 @@ public boolean onTouch(View v, MotionEvent event) {
3737
}
3838

3939
private class GestureListener extends GestureDetector.SimpleOnGestureListener {
40+
41+
private static final int REGION_LEFT = 1;
42+
private static final int REGION_MENU = 2;
43+
private static final int REGION_RIGHT = 3;
44+
45+
private int checkRegion(float x) {
46+
if (x < mView.getWidth() / 3) {
47+
return REGION_LEFT;
48+
} else if (x < mView.getWidth() * 2/3) {
49+
return REGION_MENU;
50+
} else
51+
return REGION_RIGHT;
52+
}
53+
4054
@Override
4155
public boolean onDoubleTap(MotionEvent e) {
4256
Laz.yLog(TAG, "Double Tap");
4357
// Only accept 1/3 potion in the middle.
44-
if (e.getX() > mView.getWidth() / 3 &&
45-
e.getX() < mView.getWidth() * 2/3) {
46-
mMotionListener.onOpenMenu();
47-
} else {
58+
if (checkRegion(e.getX()) != REGION_MENU) {
4859
// deal it as if double move page.
4960
onSingleTapConfirmed(e);
5061
onSingleTapConfirmed(e);
@@ -54,24 +65,34 @@ public boolean onDoubleTap(MotionEvent e) {
5465

5566
@Override
5667
public boolean onSingleTapConfirmed(MotionEvent e) {
57-
if (e.getX() < mView.getWidth() / 2) {
58-
Laz.yLog(TAG, "Touch left");
59-
mMotionListener.onMovePreviousPage();
60-
} else {
61-
Laz.yLog(TAG, "Touch right");
62-
mMotionListener.onMoveNextPage();
68+
switch (checkRegion(e.getX())) {
69+
case REGION_LEFT:
70+
Laz.yLog(TAG, "Touch left");
71+
mMotionListener.onMovePreviousPage();
72+
break;
73+
case REGION_MENU:
74+
Laz.yLog(TAG, "Touch middle");
75+
mMotionListener.onOpenMenu();
76+
break;
77+
case REGION_RIGHT:
78+
Laz.yLog(TAG, "Touch right");
79+
mMotionListener.onMoveNextPage();
80+
break;
6381
}
6482
return true;
6583
}
6684

6785
@Override
6886
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
69-
if (e1.getX() < mView.getWidth() / 2) {
70-
Laz.yLog(TAG, "Fling left");
71-
mMotionListener.onMovePreviousPage();
72-
} else {
73-
Laz.yLog(TAG, "Fling right");
74-
mMotionListener.onMoveNextPage();
87+
switch (checkRegion(e1.getX())) {
88+
case REGION_LEFT:
89+
Laz.yLog(TAG, "Fling left");
90+
mMotionListener.onMovePreviousPage();
91+
break;
92+
case REGION_RIGHT:
93+
Laz.yLog(TAG, "Fling right");
94+
mMotionListener.onMoveNextPage();
95+
break;
7596
}
7697
return true;
7798
}

0 commit comments

Comments
 (0)