Frequently Asked Question

How to handle doubleTap gesture with zoomIn and zoomOut?
Last Updated 11 months 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 ...