Skip to content

Commit 1c197f3

Browse files
committed
Add page navigation
1 parent 4757e45 commit 1c197f3

File tree

2 files changed

+27
-4
lines changed

2 files changed

+27
-4
lines changed

OCEBook/app/src/main/java/com/devgrapher/ocebook/WebViewFragment.java

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import android.app.Fragment;
99
import android.util.Log;
1010
import android.view.LayoutInflater;
11+
import android.view.MotionEvent;
1112
import android.view.View;
1213
import android.view.ViewGroup;
1314
import android.webkit.WebChromeClient;
@@ -35,6 +36,7 @@
3536
import java.io.IOException;
3637
import java.io.InputStream;
3738
import java.util.List;
39+
import java.util.Locale;
3840
import java.util.stream.Collectors;
3941
import java.util.stream.Stream;
4042

@@ -146,6 +148,23 @@ private void initWebView() {
146148
mWebView.getSettings().setAllowUniversalAccessFromFileURLs(true);
147149
mWebView.setWebViewClient(new ReadiumWebViewClient());
148150
mWebView.setWebChromeClient(new WebChromeClient());
151+
152+
mWebView.setOnTouchListener(new View.OnTouchListener() {
153+
@Override
154+
public boolean onTouch(View v, MotionEvent event) {
155+
switch (event.getAction()) {
156+
case MotionEvent.ACTION_UP:
157+
if (event.getX() < v.getWidth() / 2) {
158+
Log.d(TAG, "Touch left");
159+
mReadiumJSApi.openPageLeft();
160+
} else {
161+
Log.d(TAG, "Touch right");
162+
mReadiumJSApi.openPageRight();
163+
}
164+
}
165+
return false;
166+
}
167+
});
149168
}
150169

151170
private void intReadium() {
@@ -309,9 +328,9 @@ public void onPaginationChanged(PaginationInfo currentPagesInfo) {
309328

310329
getActivity().runOnUiThread(() -> {
311330
final Page page = openPages.get(0);
312-
mPageInfoTextView.setText("" +
313-
page.getSpineItemPageIndex() + 1 + " / " +
314-
page.getSpineItemPageCount());
331+
mPageInfoTextView.setText(String.format(Locale.getDefault(), "%d / %d",
332+
page.getSpineItemPageIndex() + 1,
333+
page.getSpineItemPageCount()));
315334
SpineItem spineItem = mPackage.getSpineItem(page
316335
.getIdref());
317336
boolean isFixedLayout = spineItem

OCEBook/app/src/main/res/layout/fragment_web_view.xml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,11 @@
1717
android:layout_width="match_parent"
1818
android:layout_height="wrap_content"
1919
android:layout_gravity="center_horizontal"
20+
android:id="@+id/tv_page_info"
21+
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
22+
android:text="1 / 10"
23+
android:textSize="14sp"
2024
android:textAlignment="center"
21-
android:id="@+id/tv_page_info"/>
25+
android:fontFamily="sans-serif" />
2226

2327
</LinearLayout>

0 commit comments

Comments
 (0)