Wie kann ich mehrere Ebenen von ImageViews verwalten und deren Seitenverhältnis basierend auf der größten beibehalten?

Angenommen, ich habe mehrere Bilder, die ich übereinander platzieren muss, bei einigen wird möglicherweise eine Art Animation angezeigt, und bei einigen kann sogar eine Drag & Drop-Funktion ausgeführt werden.

Der größte, der normalerweise den gesamten Bildschirm einnimmt, ist der untere Teil der Z-Koordinate (nennen wir ihn backgroundImageView), während der Rest darüber (und über den anderen) angezeigt wird.

wie so:

backgroundImageViewimageView1, zentriert.imageView2, bei 60%, 60% der oberen linken Ecke...

Wenn ich ein FrameLayout verwende (das scheint die beste Lösung zu sein), würde die Größe von backgroundImageView gut passen, aber wie kann ich die Größe der anderen Ebenen entsprechend ändern?

Ich denke, ich muss irgendwie herausfinden, wo die anderen Ebenen platziert werden und wie ihre Größen festgelegt werden.

Auf einfache Weise können Sie sicherstellen, dass alle Ebenen genau die gleiche Größe haben. Dies kann jedoch viel Speicher beanspruchen und beim Animieren oder Ziehen von Ansichten sehr langsam werden. Es wäre eine große Verschwendung, wenn einige der Schichten einen sehr kleinen Inhalt hätten.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage