14 Stimmen

Android: seltsame Gewichtsumkehrung in LinearLayout

Dies ist das XML-Layout, an dem ich arbeite:

Da ich dem ScrollView mit layout_weight="2" und dem LinearLayout (Kind) mit layout_weight="1" zugewiesen habe, habe ich erwartet, dass der ScrollView doppelt so viel freien Platz wie der LinearLayout nutzt. Aber ich erhalte das gegenteilige Ergebnis. Der ScrollView ist kleiner als der LinearLayout. Wenn ich dem ScrollView jedoch layout_weight="1" und dem LinearLayout layout_weight="2" zuweise, ist der ScrollView größer als der LinearLayout.

Wie ist das möglich??

26voto

Sankar V Punkte 4768

Gewicht wird umgekehrt, weil du match_parent als layout_height verwendest. Das Gewicht wird verwendet, um den verbleibenden leeren Platz zu verteilen oder Platz wegzunehmen, wenn die Gesamtsumme größer ist als das LinearLayout. Setze deine Höhen auf 0dip, dann wird es funktionieren.

z.B., setze layout_height = "0dip" sowohl für ScrollView als auch für das innere LinearLayout.

Referenz:

Die Verwendung von layout_weight in Android-Layouts

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X