Ich versuche, eine Seite in drei Teile zu teilen. Ich möchte das in Prozentwerten tun, das wird jedoch von Android nicht unterstützt. Stattdessen muss ich android:layout_weight
verwenden. Aber es fällt mir schwer, es zu verstehen und es richtig zu machen. Vor allem, wie die tatsächliche Größe berechnet wird. Gibt es eine Möglichkeit, einen Prozentwert (0..100%) von android:layout_weight
zu erhalten?Android: versuchen, Android zu verstehen: layout_weight
Ich ging ein paar Fälle durch (siehe beigefügten Screenshot), um die Probleme zu beschreiben. Die farbigen Felder sind alle <LinearLayout>
mit android:layout_height="fill_parent"
, weil ich den ganzen Bildschirm zwischen diesen teilen möchte.
Fall 1
Okay, einfach. Jeder <LinearLayout>
bekommt 33%.
Fall 2
Ups ?! Der erste (gelbe) <LinearLayout>
verschwindet vollständig? Warum?
Fall 3
wieder verwirrt. Die gelbe <LinearLayout>
ist zurück. Allerdings werden die beiden ersten <LinearLayout>
mit dem schwereren Gewicht kleiner? Was ist los?
Fall 4
ich absolut keine Ahnung, was haben die Mathematik dahinter steckt.
Mark, du hast meinen Tag gemacht. Du kannst nicht glauben, wie viel Zeit ich schon damit verbracht habe, die seltsamen Fälle herauszufinden. Und ein einfacher 'android: layout_height =" 0px "' löst alles :-) – znq
Das Setzen von layout_width auf "fill_parent" und layout_weight auf einen Float-Wert wie "0.2", "0.75" funktioniert auch, in diesem Fall ist die Zahl umso größer Teil des Raumes, den das Element einnehmen wird. Könnten Sie bitte sagen, ob dies ein akzeptabler Weg ist? – Yar