Add a transparent view over the surface view, for example, a relative layout, and add a scale detector to this transparent view, and when zooming happens, just zoom over the surface or texture.
Suppose the transparent view is called videoview .
Videoview.setOnClicklistner();
And when scaling is done, realize that scalefactor is a surfaceview , e.g.
Surfaceview.setscaleX(scalefactor); Surfaceview.setscaleY(scalefactor);
It will work smoothly
source share