implement nextPage() prevPage() logic
This commit is contained in:
parent
387b2fb0c9
commit
2487a5254a
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
||||
}
|
||||
|
|
@ -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();
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue