Wie vermeide ich Bildflackern in einer Listenansicht?

Ich habe eine Liste, die eine Reihe von Bildern anzeigt. lustigUniversal Image Loader, um diese Bilder aus Dateien in Bildansichten zu laden.

Diese Bilder haben unterschiedliche Abmessungen und ich möchte, dass sie alle die gleiche Breite, aber unterschiedliche Höhe in Bezug auf jedes Bildseitenverhältnis haben.

Um dies zu erreichen, habe ich versucht, die folgenden Einstellungen für meine Bildansicht vorzunehmen

<ImageView
   android:layout_width = "400dp"
   android:layout_height="wrap_content"
   android:scaleType="centerCrop"
   android:adjustViewBounds="true"/>

Das Problem bei dieser Methode ist, dasses gibt viel Flackern, wenn man die Listenansicht scrollt, da die Höhe der Bildansicht nicht im Voraus bekannt ist und die Bilder zuerst anhand meiner Breite skaliert werden müssen, um jede Bildhöhe in Bezug auf das Seitenverhältnis zu berechnen..

Wie kann ich jede Bildhöhe im Voraus berechnen, anstatt die Bildansicht damit umgehen zu lassen?

wenn ich ein Bild mit einer Größe von 400 x 700 habe und die Bildansicht 300 Pixel breit sein soll, wie kann ich die Höhe der Bildansicht anhand meiner Bildgröße berechnen und das Bildseitenverhältnis beibehalten? Dies kann helfen, ein Flackern beim Scrollen in der Listenansicht zu vermeiden.

Antworten auf die Frage(10)

Ihre Antwort auf die Frage