¿Cuál es la alternativa para Canvas.getMatrix ()?
Tengo el fragmento de código siguiente, que transforma un conjunto de límites mediante la matriz de transformación actual del lienzo.
final RectF bounds = renderer.computeBounds activeCanvas.getMatrix().mapRect(result, bounds); return bounds;
Sin embargo, con el nivel API más reciente (16) recibo una advertencia indicando
- Android UserManager: Compruebe si el usuario es propietario (admin)
- Copia el directorio de los activos a la carpeta de datos
- Android - MediaPlayer's en Preparado Llamado incluso antes de que el flujo se prepare en Android 4.0+
- FLAG_ACTIVITY_NO_HISTORY no funciona correctamente con Android 4.2
- Android JellyBean problema de medios de comunicación de red
The method getMatrix() from the type Canvas is deprecated
Como lo confirma la API 16 Diff Specification .
Que está bien y todo, pero la actual documentación sobre Canvas.getMatrix () no menciona la depreciación, ni tampoco ofrece una alternativa. Como una solución alternativa, ahora simplemente suprimo esta advertencia, pero realmente me gustaría saber qué aspecto tiene la nueva y mejorada ™ forma de hacer esto.
- Imágenes distorsionadas en ImageView en Android 4.1.2
- Cómo ocultar la barra de la tecla de función en el teléfono Android?
- Aplicar efecto al fotograma de video capturado por la cámara
- WiFi Direct en Android no funciona correctamente
- Android.intent.action.PACKAGE_ADDED BroadcastReceiver no recibe el tema añadido intención en JB 4.1
- Detener el gesto de desplazamiento de Google Now que se reconoce
- ¿El dispositivo ADB no reconoce ciertos teléfonos? LG G2
- Las opciones de desarrollador desaparecen de la configuración
Ahora la Matriz es manejada por la vista en vez de por la Lona. Por desgracia no puedo explicar la decisión de Google sobre este, pero usted debe ser capaz de reproducir exactamente las mismas cosas con las 2 formas.
Creo que debido al problema con getMatrix cuando hardwareAcceleration está habilitado , lo desaprobaron, ya que kouray dijo que ahora la matriz es manejada por la vista.
Si no tiene acceso a una vista:
Para evitar el problema, en la mayoría de las situaciones, puede aplicar cualquier transformación usando canvas.scale (), canvas.translate (), etc. en lugar de recuperar la matriz, modificarla y volver a establecer la matriz.
Desde el problema de Google con getMatrix cuando hardwareAcceleration está habilitado , como lo hace referencia Sandeep.
- OnMapReady no llamando aunque la visualización del mapa sin ningún error
- Cómo diseñar o diseñar correctamente un cajón de navegación de Android