Pinch-to-zoom con gestos multi-touch
Anteriormente se utiliza SimpleOnGestureListener para proporcionar detección de gestos sencillos de un solo dedo. En este caso demostraremos multitáctil con el gesto común de zoom usando la clase SimpleOnScaleGestureListener.
La siguiente captura de pantalla muestra el icono ampliado con la aplicación creada:

La siguiente captura de pantalla muestra el icono ampliado:

Preparándose
Nos disponemos a crear un nuevo proyecto en Android Studio, lo llamaremos: MultiTouchZoom. Siguiendo las opciones predeterminadas de Teléfono y Tableta y seleccione Actividad vacía cuando se le solicite el Tipo de actividad.
Cómo hacerlo
Iniciando la indicación visual del pinch-to-zoom, utilizaremos un ImageView con el Icono de la aplicación. Abra activity_main.xml y siga estos pasos:
1.Reemplace el TextView existente con el siguiente ImageView:
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_launcher"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
2.Ahora abra MainActivity.java y añada las siguientes variables globales a la clase:
privateScaleGestureDetector mScaleGestureDetector;
private floatmScaleFactor = 1.0f;
privateImageView mImageView;
3.Anule el método onTouchEvent () de la siguiente manera:
public booleanonTouchEvent(MotionEvent motionEvent) {
mScaleGestureDetector.onTouchEvent(motionEvent);
return true; }
4.Agregue la siguiente clase ScaleListener a la clase MainActivity:
private classScaleListener extends ScaleGestureDetector. SimpleOnScaleGestureListener {
@Override
public booleanonScale(ScaleGestureDetector scaleGestureDetector) {
mScaleFactor *= scaleGestureDetector.getScaleFactor();
mScaleFactor = Math.max(0.1f,
Math.min(mScaleFactor, 10.0f));
mImageView.setScaleX(mScaleFactor);
mImageView.setScaleY(mScaleFactor);
return true; }
}
5.Agregue el código siguiente al método onCreate () existente:
mImageView=(ImageView)findViewById(R.id.imageView);
mScaleGestureDetector = new ScaleGestureDetector(this, new ScaleListener());
6.Para experimentar con la funcionalidad pinch-to-zoom, ejecute la aplicación en un dispositivo con una pantalla táctil.

Cómo funciona
El ScaleGestureDetector, su funcion basica es el analisis de los datos gestuales, dando a conocer el factor de escala final a través de la devolución onScale (). Como resultado consideramos el factor de escala real llamando a getScaleFactor () en ScaleGestureDetector. Continuando con el funcionamiento utilizamos un ImageView con el icono de la aplicación para proporcionar una representación visual de la escala mediante el ajuste de la escala ImageView con el factor de escala devuelto desde ScaleGestureDetector. Para evitar que la escala se haga demasiado grande o demasiado pequeña, agregamos la siguiente comprobación:
mScaleFactor = Math.max(0.1f, Math.min(mScaleFactor, 10.0f));