Ich verwende eine Kopfzeile für eine Listview. Der ListView-Header hat drei Spalten. Sprich a, b, c. Ich verwende zwei LinearLayouts, um den ListView-Header wie folgt zu entwerfen:
%Vor%Nun möchte ich die Breite der Spalten a, b, c festlegen. Wie setze ich die Breite dieser Spalten? Ist es eine gute Übung, LinearLayout dafür zu verwenden? Bitte beraten.
Um die layout_width Ihrer Textansichten auf eine feste Breite zu ändern, verwenden Sie:
%Vor%Oder Sie möchten, dass sie Prozentsätze des Bildschirms aufnehmen, ändern Sie das Layoutgewicht
%Vor%In android wird das Gewicht aller Elemente in einem anderen (wie zB Ihr lineares Layout hier) addiert und dann wird das Gewicht jeder Ansicht verwendet, um zu definieren, wie viel Platz benötigt wird. I.E. Hätten Sie die Gewichte 2,3,5 für a, b bzw. c, dann wäre a 20% breit, b 30% breit und c 50% breit.
Wenn Sie Spalten möchten, sollten Sie ein Tabellenlayout ( Tutorial ) in Betracht ziehen.
Sie können die Breite auch in Prozent wie folgt einstellen
%Vor%Wenn Sie dies innerhalb eines Layouts tun, das in einer ListView verwendet wird, funktioniert nur die dynamische Einstellung der Breite im Code. Ich habe tatsächlich drei TextViews in meiner Liste, aber ich zeige nur zwei hier, der Kürze halber. Hier ist XML aus dem Layout:
%Vor%Hier ist Code aus dem Adapter für die ListView:
%Vor%Tags und Links android