Frequently Asked Question

How to handle doubleTap gesture with zoomIn and zoomOut?
Last Updated a year ago

This article shows how to handle zoomIn and zoomOut with the double tap.

Using RDPDFReader, you need to implement the listener OnPDFDoubleTapped in PDFViewAct:

@Override
public boolean OnPDFDoubleTapped(PDFLayout layout, float x, float y)
{
   float mCurZoomLevel = layout.vGetZoom();
   if(m_view.PDFGetScale() <= m_view.PDFGetMinScale())
      Global.zoomStep = 1;
   if((mCurZoomLevel > Global.zoomLevel && Global.zoomStep > 0) ||
         (mCurZoomLevel == 1 && Global.zoomStep < 0)) //reverse zoom step
      Global.zoomStep *= -1;

   layout.vZoomSet((int) x, (int) y, layout.vGetPos((int) x, (int) y), mCurZoomLevel + Global.zoomStep);
   return true;
}

Note: to change the zoom step or the max zoom level, you need to change Global.zoomStep and/or Global.zoomLevel.

Using PDFReader, you have to Override OnPDFDoubleTapped method of PDFReader class as following:

public boolean OnPDFDoubleTapped(float x, float y)
{
   if( m_status != STA_NORMAL ) return false;
   if( m_view.vGetScale() == m_view.vGetMinScale())
      m_view.vSetScale(m_view.vGetMaxScale(),x,y );
   else
      m_view.vSetScale(m_view.vGetMinScale(),x,y );
   return true;
}


Loading ...