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
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.
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.
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.
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.
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:
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.
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%