He creado mi vista personalizada y quiero aplicar el zoom de pellizco para mi vista personalizada. ¿Como hacer eso?pellizcar el zoom para vista personalizada
Respuesta
este artículo en el blog de desarrolladores de Android cubre este tema muy bien (desplazarse hacia abajo a la sección de GestureDetectors):
Si lo que desea es poner en práctica pellizcar para hacer zoom, hay Sólo unas pocas líneas de código que necesitará:
private ScaleGestureDetector mScaleDetector;
private float mScaleFactor = 1.f;
public MyCustomView(Context mContext){
//...
//Your view code
//...
mScaleDetector = new ScaleGestureDetector(context, new ScaleListener());
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
// Let the ScaleGestureDetector inspect all events.
mScaleDetector.onTouchEvent(ev);
return true;
}
@Override
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.save();
canvas.scale(mScaleFactor, mScaleFactor);
//...
//Your onDraw() code
//...
canvas.restore();
}
private class ScaleListener extends ScaleGestureDetector.SimpleOnScaleGestureListener {
@Override
public boolean onScale(ScaleGestureDetector detector) {
mScaleFactor *= detector.getScaleFactor();
// Don't let the object get too small or too large.
mScaleFactor = Math.max(0.1f, Math.min(mScaleFactor, 5.0f));
invalidate();
return true;
}
}
El resto del artículo trata con el manejo de otros gestos, pero en lugar de utilizar su aplicación, puede utilizar GestureDetector al igual que ScaleGestureDetector se utiliza en el código anterior.
Ponga su vista en ZoomView
.
Vista personalizada disponible aquí https://github.com/Polidea/android-zoom-view ¡es fácil, gratis y muy divertido!
¿Alguna documentación para acompañar eso? – Peter
buen ejemplo, pero causa muchas llamadas invalidadas. – DearDhruv
Desafortunadamente, el proyecto no parece haber estado activo durante los últimos 6 meses. Envié una solicitud de extracción para corregir un error obvio hace 15 días, pero no recibí ninguna respuesta. –
uso esto:
Implementación de ImageView para Android que admite zoom, por diversos gestos táctiles.
Photoview funciona bien solo en ImageView, pero no obtuvo la Vista, que se amplía en otra clase. ¿Cómo trabajar con CustomView por favor? –
- 1. pellizcar el zoom para la vista de texto
- 2. Android web vista pellizcar zoom Problema
- 3. android pellizcar zoom
- 4. Deshabilitar pellizcar zoom en WebView?
- 5. Pellizcar Acercar vista web [Android]
- 6. Implementando Pellizcar y Zoom en Android SurfaceView
- 7. ¿Cómo habilitar los controles de zoom y pellizcar el zoom en un WebView?
- 8. zoom centrado en vista personalizada - cálculo de coordenadas de lienzo
- 9. Lienzo pellizcar-Zoom a punto dentro de los límites
- 10. iPhone google maps v3 sartenes después de pellizcar zoom
- 11. ¿Se puede usar el detector de gestos de escala para pellizcar el zoom en Android?
- 12. detectando pellizcar para ampliar en iOS
- 13. Pellizcar para acercar con Osmdroid
- 14. Toque dos veces para acercar y pellizcar para hacer zoom en ImageView en android
- 15. Cómo configurar el zoom/ancho inicial para una vista web
- 16. vista personalizada
- 17. ¿Hay una API incorporada para manejar la funcionalidad de pellizcar-zoom en Android
- 18. vista personalizada con el diseño
- 19. Pinch/especificación de vista de zoom funciona en el iPhone, pero no en Android
- 20. iPhone/iPad Pan, pellizcar y girar una vista simultáneamente
- 21. Vista personalizada de cacao para NSMenuItem
- 22. Vista de notificación personalizada
- 23. Vista de lista personalizada para AlertDialog
- 24. Android Gallery Adapter con MultiTouch? ¿Galería personalizada o vista de imagen personalizada?
- 25. onMeasure vista personalizada explicación
- 26. Android vista personalizada Constructor
- 27. Vista personalizada sin inflar
- 28. Vista personalizada en el diseño xml
- 29. Suavizar el zoom en la vista de mapa
- 30. AVCaptureDevice Camera Zoom
he terminado con esto, pero ¿cómo puedo arrastrar o desplazar la vista ampliada – sillyMistaker
@sillyMistaker sobre la sartén está muy bien explicado en el enlace del mensaje. Es demasiado contenido para un comentario, pero sigue una lógica bastante fácil. – TechNyquist