Ich setze die Ausrichtung auf keine und möchte nach einigen MOVE-Aktionen mein Bild in die Mitte (Ursprungsposition) zurücksetzen.
Bild bewegt sich nicht mit Code zoomLayout.setAlignment(Alignment.CENTER);
in die Mitte.
Wie macht man es richtig?
Letzte Version
Wir haben keine API, um die Transformation erneut anzuwenden, indem Sie versuchen, die Größe neu festzulegen: zoomLayout.engine.setContainerSize(zoomLayout.width, zoomLayout.height, true)
. Beachten Sie das Wahre am Ende.
@natario1 Was halten Sie davon, der API für diesen Anwendungsfall eine Hilfsfunktion hinzuzufügen, z. moveToCenter(zoom: Float? = null)
? Für Neulinge scheint es eine schwierige Sache zu sein, wahrscheinlich wegen der Art und Weise, wie moveTo
die linke obere Ecke als Referenz anstelle der Mitte der Ansicht verwendet.
zoomLayout.engine.setContainerSize(zoomLayout.width, zoomLayout.height, true)
Funktioniert besser. Der Effekt ist immer noch scharf.
Wie macht man es mit glatten Animationen?
@Yahor10 Sie müssen die Verschiebe-APIs verwenden, um zu zoomen, wo Sie möchten.
@markusressel bitte tun, wenn Sie möchten. Wir könnten auch eine Docs-Seite mit "Rezepten" unterhalten, da wir nicht alle Fälle mit APIs abdecken können und wir die Leute wirklich ermutigen sollten, Berechnungen durchzuführen und ein paar Minuten nachzudenken, Konzepte sind einfach und sie zu verstehen, wird alle freischalten Möglichkeiten.
Schließe dies, da alles gesagt wurde.
Hilfreichster Kommentar
@Yahor10 Sie müssen die Verschiebe-APIs verwenden, um zu zoomen, wo Sie möchten.
@markusressel bitte tun, wenn Sie möchten. Wir könnten auch eine Docs-Seite mit "Rezepten" unterhalten, da wir nicht alle Fälle mit APIs abdecken können und wir die Leute wirklich ermutigen sollten, Berechnungen durchzuführen und ein paar Minuten nachzudenken, Konzepte sind einfach und sie zu verstehen, wird alle freischalten Möglichkeiten.