Fortschrittsbalken im Hintergrund des Listenelements

9

Ich möchte, dass der Hintergrund eines Listenelements wie eine Fortschrittsleiste funktioniert. Zum Beispiel, wie in der tTorrent Dateiliste:

So wird es jetzt gemacht: Ich benutze eine Relative Layout und zwei Linealouts. Einer hat Textansichten und ein anderer hat zwei Ansichten, die als Fortschrittsbalken funktionieren. "Progress" wird mithilfe der Gewichtung der Ansichten geändert, die in der Methode "getView" dynamisch festgelegt werden. Dann wird Linearlayout mit Textansichten auf die Vorderseite gebracht. Hier ist der Code:

Layout:          

%Vor%

Und getView-Methode:

%Vor%

Es funktioniert perfekt auf 4.2.2 und niedrigeren Geräten (Screenshot unten).

Das Problem: 4.3 und höher (beide Emulatoren und Geräte) zeigen keine Fortschrittsansichten. Ich habe versucht, linearlayout nicht mit Textansichten nach vorne zu bringen, Gewichte auf Konstanten zu setzen, lineare Layouts zu ändern - kein Ergebnis, "Fortschrittsansichten" werden nicht angezeigt. Wie kann ich es mit neuen Versionen von Android arbeiten lassen?

    
Kirill 27.01.2014, 10:14
quelle

1 Antwort

4

Lösung war einfach.

Nach dem Ersetzen von RelativeLayout auf FrameLayout scheint jetzt alles richtig zu funktionieren, sowohl Geräte als auch Emulatoren 4.3 +

Der Code für die getView-Methode ist derselbe, außer dass LinearLayout mit Textansichten nach vorne gebracht wird - jetzt ist es nicht nötig.

Code für das Layout:

%Vor%

Aus irgendeinem Grund funktioniert relationallayout auf 4.3+ anders, ich weiß immer noch nicht genau warum.

Danke an Gabor vom ttorrent Team, das mir den richtigen Weg gezeigt hat.

    
Kirill 28.01.2014, 10:07
quelle