I think I know what's went wrong in my case, now.
It's because the screen was not refreshed after double tapped.
So I make it happen by add m_view.invalidate() as following:
@Override
public boolean OnPDFDoubleTapped(float x, float y)
{
float mCurZoomLevel = m_view.PDFGetZoom();
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;
m_view.PDFSetZoom((int) x, (int) y, m_view.PDFGetPos((int) x, (int) y), mCurZoomLevel + Global.zoomStep);
RadaeePluginCallback.getInstance().onDoubleTapped(m_view.PDFGetCurrPage(), x, y);
m_view.invalidate(); // Add this to refresh.
return true;
}
And now the zooming works fine.
So this is my explanation of my problem: "The screen was not refreshed after double tapped"
Dose this help you for understanding my case?
Do you have better solution then what I did (adding m_view.invalidate())?
English is not my native language and I have done my best, hope you can understand what I have tried to say.
Anyway, I solved this problem with my way, unless you have any opinion about this.
Thanks.