Ich habe eine Anforderung mit geringfügigen Änderungen. Diese post behält den Zoom bei der Orientierungsänderung bei und zentriert ihn. Ich möchte nicht, dass das Bild zentriert wird. Ich möchte nur, dass der Zoom beibehalten wird. Wie kann dies erreicht werden? Jede Hilfe wird sehr geschätzt.Zoomen in Fotoansicht ohne Center Aligning beibehalten
0
A
Antwort
0
Ich erreichte das gewünschte Verhalten nach so viel Brainstorming. Idee ist, die vorherige Matrix- und Zoomskala des Bildes zu speichern und dann die vorher gespeicherte Matrix auf dem Bild aufzufüllen. Fetching die vorherigen Werte:
Matrix previousImageMatrix = photoView.getDisplayMatrix();
previousImageMatrix.getValues(previousValues);
previousZoomLevel = prescription.getScale();
Jetzt befestigen photoView.getViewTreeObserver().addOnPreDrawListener(this);
Füllen Sie die obige Matrix, wenn die Bild onPreDraw()
Methode wie folgt gezoomt wird:
@Override
public boolean onPreDraw()
{
photoView.getViewTreeObserver().removeOnPreDrawListener(this);
Matrix theMatrix = photoView.getDisplayMatrix();
Log.d("***", "onPreDraw: TransX = " + previousValues[2] + "TransY = " + previousValues[5]);
float[] matrixValues = new float[9];
matrixValues[0] = previousZoomLevel; // 0 and 4 store the scaleX and scaleY
matrixValues[4] = previousZoomLevel;
if (previousZoomLevel == MIN_ZOOM_LEVEL) // Zoom Level starts from 1.0 to 16.0
{
matrixValues[2] = 0; //2 and 5 store store TransX and TransY
matrixValues[5] = 0;
} else
{
matrixValues[2] = previousValues[2];
matrixValues[5] = previousValues[5];
}
Log.d("***", "onPreDraw: NEW.. TransX = " + matrixValues[2] + "TransY = " + matrixValues[5]);
matrixValues[8] = 1.0f;
theMatrix.setValues(matrixValues);
prescription.setDisplayMatrix(theMatrix);
Matrix theImageViewMatrix = photoView.getDisplayMatrix();
prescription.setImageMatrix(theImageViewMatrix);
return true;
}
hoffe, das hilft jemand.
Verwandte Themen
- 1. Google Maps Center beim Zoomen
- 2. Aligning Objekt und Taste
- 3. Aligning font-awesome Symbole
- 4. JQuery Ereignis auf Fotoansicht Position
- 5. Aligning Text in einem listbox
- 6. Aligning Strings in Visual Basic
- 7. Aligning pandas Datenrahmen, die
- 8. Aligning Hintergrund-Bild (: relative)
- 9. Aligning Text auf Balkendiagramm ggplot2
- 10. Aligning Formularfelder für ansprechendes Layout
- 11. Aligning p: input mit Etikett
- 12. Aligning Text und Spinner vertikal Zentrum
- 13. Center UIImageView innerhalb von UIScrollView ohne contentInset?
- 14. ScrollTo Center zu einer Website ohne div
- 15. Zoomen in UICollectionView
- 16. Sende Spiel einladen ohne Game Center
- 17. Center-Symbol ohne absolute oder relative Positionierung?
- 18. oxyplot axis locking center wenn Mausrad
- 19. Unity UI Image Center Crop
- 20. Echtzeit zoomen in Camera2
- 21. Bild in Bildbox zoomen
- 22. Diagramm zoomen in D3
- 23. ViewController Animation wie Zoomen und Zoomen
- 24. Aligning und Verschachtelung divs (CSS-Layout-Probleme)
- 25. Wie zoomen Bild mit angularJS
- 26. Drucken ohne Zellenfüllungsfarbe, aber Zellenfarbe beibehalten
- 27. Center Tab Bar Symbole ohne Text in Swift
- 28. Center ein Bild in einem Div ohne absolute Positionierung
- 29. Aligning UILabel mit NSSuperscriptAttributeName und Autolayout
- 30. Zoomen von Rahmengrafiken in Flash CS5