Configuré la alineación en ninguno y después de algunas acciones MOVE quiero hacer retroceder mi imagen al centro (posición de origen).
La imagen no retrocede con el código zoomLayout.setAlignment(Alignment.CENTER);
al centro.
¿Cómo hacerlo correctamente?
Última versión
No tenemos una API para volver a aplicar la transformación; puede intentar restablecer el tamaño: zoomLayout.engine.setContainerSize(zoomLayout.width, zoomLayout.height, true)
. Tenga en cuenta la verdad al final.
@ natario1 ¿qué piensas acerca de agregar una función auxiliar a la API para este caso de uso, como f.ex. moveToCenter(zoom: Float? = null)
? Parece algo difícil de hacer para los recién llegados, probablemente debido a la forma en que moveTo
usa la esquina superior izquierda como referencia, en lugar del centro de la vista.
zoomLayout.engine.setContainerSize(zoomLayout.width, zoomLayout.height, true)
Funciona mejor. El efecto sigue siendo nítido.
¿Cómo hacerlo con una animación suave?
@ Yahor10 tienes que usar las API de movimiento para hacer zoom donde quieras.
@markusressel por favor hazlo si quieres. También podríamos mantener una página de documentos con "recetas", ya que no podemos cubrir todos los casos con API y realmente deberíamos alentar a las personas a hacer cálculos y pensar unos minutos, los conceptos son simples y comprenderlos desbloqueará todos los posibilidades.
Cerrando esto ya que todo está dicho.
Comentario más útil
@ Yahor10 tienes que usar las API de movimiento para hacer zoom donde quieras.
@markusressel por favor hazlo si quieres. También podríamos mantener una página de documentos con "recetas", ya que no podemos cubrir todos los casos con API y realmente deberíamos alentar a las personas a hacer cálculos y pensar unos minutos, los conceptos son simples y comprenderlos desbloqueará todos los posibilidades.