Defino o alinhamento para nenhum e depois de algumas ações de MOVE quero voltar minha imagem para o centro (posição de origem).
A imagem não se move para trás com o código zoomLayout.setAlignment(Alignment.CENTER);
para o centro.
Como fazer isso correto?
Última versão
Não temos uma API para reaplicar a transformação, você pode tentar redefinir o tamanho: zoomLayout.engine.setContainerSize(zoomLayout.width, zoomLayout.height, true)
. Observe a verdade no final.
@ natario1 o que você acha sobre adicionar uma função auxiliar à API para este caso de uso, como f.ex. moveToCenter(zoom: Float? = null)
? Parece uma coisa difícil de fazer para os recém-chegados, provavelmente devido à maneira moveTo
usa o canto superior esquerdo como referência, em vez do centro da visualização.
zoomLayout.engine.setContainerSize(zoomLayout.width, zoomLayout.height, true)
Funciona melhor. O efeito é nítido ainda.
Como fazer isso com animação suave?
@ Yahor10 você tem que usar as APIs de movimento para dar zoom onde quiser.
@markusressel por favor faça se quiser. Também poderíamos manter uma página de documentos com "receitas", já que não podemos cobrir todos os casos com APIs e devemos realmente encorajar as pessoas a fazer cálculos e pensar alguns minutos, os conceitos são simples e entendê-los desbloqueará todos os possibilidades.
Fechando isso já que tudo foi dito.
Comentários muito úteis
@ Yahor10 você tem que usar as APIs de movimento para dar zoom onde quiser.
@markusressel por favor faça se quiser. Também poderíamos manter uma página de documentos com "receitas", já que não podemos cobrir todos os casos com APIs e devemos realmente encorajar as pessoas a fazer cálculos e pensar alguns minutos, os conceitos são simples e entendê-los desbloqueará todos os possibilidades.