implement nextPage() prevPage() logic

This commit is contained in:
contrudar 2016-10-06 19:19:00 +03:00
parent 387b2fb0c9
commit 2487a5254a
3 changed files with 53 additions and 12 deletions

View File

@ -216,7 +216,7 @@ public class PDFPage {
info.bgColor = Color.WHITE;
}
image = Bitmap.createBitmap(width, height, Config.ARGB_8888);
image = Bitmap.createBitmap(width, height, Config.RGB_565);
renderer = new PDFRenderer(this, info, image);
// if (cache != null) {

View File

@ -0,0 +1,31 @@
package net.sf.andpdf.pdfviewer;
import android.view.MotionEvent;
import uk.co.senab.photoview.PhotoViewAttacher;
public abstract class OnSwipeTouchListener implements PhotoViewAttacher.OnSingleFlingListener {
private static final int SWIPE_DISTANCE_THRESHOLD = 100;
private static final int SWIPE_VELOCITY_THRESHOLD = 100;
@Override
public boolean onFling(final MotionEvent e1, final MotionEvent e2, final float velocityX, final float velocityY) {
float distanceX = e2.getX() - e1.getX();
float distanceY = e2.getY() - e1.getY();
if (Math.abs(distanceX) > Math.abs(distanceY) && Math.abs(distanceX) > SWIPE_DISTANCE_THRESHOLD && Math.abs(velocityX) > SWIPE_VELOCITY_THRESHOLD) {
if (distanceX > 0)
onSwipeRight();
else
onSwipeLeft();
return true;
}
return false;
}
public abstract void onSwipeLeft();
public abstract void onSwipeRight();
}

View File

@ -134,7 +134,7 @@ public class PdfViewerFragment extends Fragment {
return;
}
if (!passwordNeeded) {
startRenderThread(mPage, mZoom);
startRenderThread(mPage);
} else {
hideProgressBar();
final EditText etPW = (EditText) view.findViewById(getPdfPasswordEditField());
@ -198,7 +198,7 @@ public class PdfViewerFragment extends Fragment {
return true;
}
private synchronized void startRenderThread(final int page, final float zoom) {
private synchronized void startRenderThread(final int page) {
if (backgroundThread != null) return;
backgroundThread = new Thread(new Runnable() {
public void run() {
@ -297,7 +297,7 @@ public class PdfViewerFragment extends Fragment {
mGraphView.bZoomOut.setEnabled(true);
startRenderThread(mPage, mZoom);
startRenderThread(mPage);
}
}
}
@ -317,7 +317,7 @@ public class PdfViewerFragment extends Fragment {
mGraphView.bZoomIn.setEnabled(true);
startRenderThread(mPage, mZoom);
startRenderThread(mPage);
}
}
}
@ -326,10 +326,8 @@ public class PdfViewerFragment extends Fragment {
if (mPdfFile != null) {
if (mPage < mPdfFile.getNumPages()) {
mPage += 1;
mGraphView.bZoomOut.setEnabled(true);
mGraphView.bZoomIn.setEnabled(true);
progress = ProgressDialog.show(getActivity(), "Loading", "Loading PDF Page " + mPage, true, true);
startRenderThread(mPage, mZoom);
startRenderThread(mPage);
}
}
}
@ -338,10 +336,8 @@ public class PdfViewerFragment extends Fragment {
if (mPdfFile != null) {
if (mPage > 1) {
mPage -= 1;
mGraphView.bZoomOut.setEnabled(true);
mGraphView.bZoomIn.setEnabled(true);
progress = ProgressDialog.show(getActivity(), "Loading", "Loading PDF Page " + mPage, true, true);
startRenderThread(mPage, mZoom);
startRenderThread(mPage);
}
}
}
@ -403,7 +399,7 @@ public class PdfViewerFragment extends Fragment {
mGraphView.bZoomOut.setEnabled(true);
mGraphView.bZoomIn.setEnabled(true);
progress = ProgressDialog.show(getActivity(), "Loading", "Loading PDF Page " + mPage, true, true);
startRenderThread(mPage, mZoom);
startRenderThread(mPage);
}
}
})
@ -462,6 +458,20 @@ public class PdfViewerFragment extends Fragment {
pdfZoomedImageView.setBackgroundColor(getContext().getResources().getColor(R.color.zoomed_image_view_background));
photoViewAttacher = new PhotoViewAttacher(pdfZoomedImageView);
photoViewAttacher.setOnSingleFlingListener(new OnSwipeTouchListener() {
@Override
public void onSwipeLeft() {
nextPage();
}
@Override
public void onSwipeRight() {
prevPage();
}
});
setPageBitmap(null);
updateImage();