Hier ist ein Teil von meinem XML für LAND-Format:XML-Tabellenlayout? Zwei EQUAL-width-Reihen mit gleich breiten Schaltflächen?
<TableLayout
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_gravity="center"
android:stretchColumns="*">
<TableRow>
<Button
android:id="@+id/countbutton"
android:text="@string/plus1"/>
<Button
android:id="@+id/resetbutton"
android:text="@string/reset"
/>
</TableRow>
</TableLayout>
Und jetzt, was mich nicht bekommen - die Breite einer Zeile und auch der Taste hängt von dem Text innerhalb der Taste. Wenn die beiden Texte gleich lang sind, sagen wir: TEXT ist in Ordnung - die Tischhälfte befindet sich in der Mitte des Bildschirms. Aber wenn sie eine andere Größe haben - sagen wir "A" und "DAS IST DER LANGE KNOPF", ist die MITTE der Tabelle nicht mehr in der Mitte des Bildschirms und so sind die Tasten nicht gleich breit ...
Wie kann man diese Werte in Code für dynamisch erstellte Schaltflächen festgelegt? –
parant.addView (newView, neue LinearLayout.LayoutParams (0/* Breite * /, WRAP_CONTENT, 1/* Gewicht * /)); –
Wenn Sie dies über die Suche finden, beachten Sie, dass Sie einen android: layout_width = "fill_parent" oder einen anderen Wert auf dem LinearLayout tun müssen. Ich bekam zur Laufzeit Fehler bezüglich der Angabe einer layout_width und es dauerte eine Weile, bis ich herausfand, dass sie sich über das LinearLayout beklagte, nicht über die enthaltenen Elemente mit den Nullwert-Layoutbreiten. Siehe auch http: // stackoverflow.com/Fragen/1177020/Android-How-To-Make-All-Elemente-Inside-Linearlayout-gleiche Größe. – Unoti