Cómo hacer que SurfaceView se pueda ampliar en Android

La clase Zoom Controls ya está disponible en Android. para que podamos usarlo para agregar la funcionalidad de acercar y alejar a la aplicación de Android como se explica a continuación

clase pública ZoomingView extiende la actividad {
FrameLayout privado pCameraLayout = nulo; // este diseño contiene surfaceview
ZoomControls privados zoomControls;
Cámara mCamera = nulo;
@Anular
vacío protegido onCreate (Bundle savedInstanceState) {
// TODO Código auxiliar de método generado automáticamente
super.onCreate (savedInstanceState);
enableZoom ();
}
private void enableZoom () {
zoomControls = nuevo ZoomControls (esto);
zoomControls.setIsZoomInEnabled (verdadero);
zoomControls.setIsZoomOutEnabled (verdadero);
zoomControls.setOnZoomInClickListener (
nueva View.OnClickListener () {
@Override public void onClick (Ver v) {
// TODO Método de generación automática stub zoomCamera (false); }});
zoomControls.setOnZoomOutClickListener (
nueva View.OnClickListener () {
@Override public void onClick (Ver v) {
// TODO Método de generación automática stub zoomCamera (true); }
}); pCameraLayout.addView (zoomControls); }
public void zoomCamera (zoomInOrOut booleano) {
if (mCamera! = null) {
Parámetros parámetro = mCamera.getParameters ();
if (parameter.isZoomSupported ()) {
int MAX_ZOOM = parameter.getMaxZoom ();
int currnetZoom = parameter.getZoom ();
if (zoomInOrOut && (currnetZoom = 0)) {
parameter.setZoom (++ currnetZoom); }
más si (! zoomInOrOut && (currnetZoom 0))
{parameter.setZoom (–currnetZoom); }}
de lo contrario Toast.makeText (contexto, “Lo siento, no puede hacer zoom”, Toast.LENGTH_LONG) .show ();
mCamera.setParameters (parámetro); }}