Zwei ListView nebeneinander

8

Ich habe zwei ListView. Und ich muss sie horizontal nebeneinander legen. Aber das Problem ist - Nur eine Liste ist sichtbar. (Hinweis: Die zweite Liste befindet sich auf der rechten Seite des Layouts und kann maximal 1 Zeichen haben. Die erste Liste wird erweitert, um den Rest des Bildschirms zu füllen.)

Hilf mir bitte.

Das Layout ist so.

%Vor%

%Vor%

Schoeful

    
Shaiful 09.02.2011, 10:09
quelle

8 Antworten

8

Ich denke, mit diesem Code wird es gut funktionieren. Sie müssen layout_weight = 0.5 verwenden und die Dinge werden perfekt funktionieren.

%Vor%

Verwenden Sie also grundsätzlich zwei Listenansichten in einem linearen Layout und geben Sie jedem Layout ein Gewicht von 0,5. Ich denke, das hilft.

    
Samyak Upadhyay 18.07.2015 14:18
quelle
4

Ich kann nicht glauben, dass das niemand in drei Jahren gemacht hat. Vielleicht wird jemand anderes diese Frage haben.

Das Problem ist, dass ListView gierig ist, wenn es um horizontalen Speicherplatz geht. Sie können sagen, dass es mit layout_width='0dp' und den layout_weight -Zahlen, die Sie für am besten halten, piped down wird. Unten ist ein Beispiel, das leftListView bei ¾ und rightListView bei ¼ setzt. Ich habe es versucht, es funktioniert gut.

%Vor%

Eine andere Alternative besteht darin, denselben Layout-Trick zu verwenden, aber mit FrameLayouts, und dann Fragmente für jede ListView zu erstellen. Es ist schwerer, aber Sie könnten Wert darin finden, dass die Fragmente herumliegen.

    
QED 06.03.2014 01:36
quelle
1

Ihr erstes LinearLayout sagt fill_parent sowohl für die Höhe als auch für die Breite, also nimmt es den ganzen Raum ein. Verwenden Sie stattdessen ein einzelnes LinearLayout, das auf horizontal festgelegt ist, und fügen Sie dann Ihre beiden ListViews dort ein. Die Höhe sollte wrap_content sein. Die Breite kann beliebig eingestellt werden (nicht fill_parent though), und Sie können minWidth und layout_weight verwenden, um sie genauer zu spezifizieren.

    
Ian G. Clifton 13.02.2011 06:07
quelle
1

Ich würde ein LinearLayout mit dem Attribut android:orientation="horizontal"
vorschlagen Dann setzen Sie 2 LinearLayouts mit android:orientation="vertical" in die horizontale.
Jetzt fülle die Vertikale einmal mit deinen Sachen.

Weitere Informationen finden Sie hier :)

Hoffe, das hilft!

BEARBEITEN:
Versuchen Sie Folgendes:

%Vor%     
Beasly 09.02.2011 10:29
quelle
0

Versuchen Sie, ein relatives Layout oder Tabellenlayout als Root-Layout zu verwenden und dann die 2 Listenansichten als untergeordnete Elemente des Stammverzeichnisses zu positionieren.

    
purserj 09.02.2011 10:15
quelle
0

Legen Sie die beiden in ein horizontales LinearLayout, wie mehrere vorgeschlagen haben. Setzen Sie für die Liste auf der linken Seite die layout_width auf 0 und layout_weight auf 1; Für die rechte Liste setzen Sie layout_width auf wrap_content und layout_weight auf 0.

    
Ted Hopp 13.02.2011 09:09
quelle
0
%Vor%     
Eva Zana 13.05.2017 07:36
quelle
-1

Ok. Ich sehe, dass der Thread tot ist, aber ich weiß, wie das geht.

Meine Layout-XML-Datei:

%Vor%

Zweitens mein Code von der Aktivität:

%Vor%

Genießen Sie

P.S. Sie sollten Layuot für Ihre Listenelemente erstellen, meine namens itemlistview.xml, und Sie können android.R.layout.simple_list_item_1 als Standard verwenden.

Meine Datei itemlistview.xml

%Vor%     
Sim Mak 15.06.2012 22:19
quelle

Tags und Links