Hallo Leute,
ich möchte mein Layout wie folgt gestalten:
Es sieht allerdings so aus:
Das Problem ist, dass die Buttons dynamisch per Programmierung erzeugt werden und im Laufe der Zeit immer noch welche dazukommen können.
Je nach dem wie groß das Display des Handys ist, stehen auch nicht 2 Buttons nebeneinander, sondern 3 oder 4.
Ich habe einmal ein TableLayout in meiner .xml:
[XML]
<TableLayout
android:id="@+id/tableForButtons"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</TableLayout>
[/XML]
Der Javacode enthält eigentlich noch eine Logik, womit die TableRow entsprechend gefüllt wird, je nach Anzahl der Buttons und je nach Größe des Displays. Das habe jetzt mal rausgelassen, da es ja unwichtig ist.
Hier sind auf jeden Fall alle Attribute, die ich den Buttons und dem TableRow gebe.
Ich weiß gerade irgendwie echt nicht weiter. Was muss ich den Buttons, dem TableRow oder dem TableLayout für Attribute geben, damit es so aussieht wie gewünscht und es nicht so zerrissen wird? Ich habe auch zwischen WRAP_CONTENT und MATCH_PARENT herumprobiert, aber irgendwie wollte es nicht so recht.
Würde mich total über Hilfe freuen.
Gruß
ich möchte mein Layout wie folgt gestalten:

Es sieht allerdings so aus:

Das Problem ist, dass die Buttons dynamisch per Programmierung erzeugt werden und im Laufe der Zeit immer noch welche dazukommen können.
Je nach dem wie groß das Display des Handys ist, stehen auch nicht 2 Buttons nebeneinander, sondern 3 oder 4.
Ich habe einmal ein TableLayout in meiner .xml:
[XML]
<TableLayout
android:id="@+id/tableForButtons"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</TableLayout>
[/XML]
Der Javacode enthält eigentlich noch eine Logik, womit die TableRow entsprechend gefüllt wird, je nach Anzahl der Buttons und je nach Größe des Displays. Das habe jetzt mal rausgelassen, da es ja unwichtig ist.
Hier sind auf jeden Fall alle Attribute, die ich den Buttons und dem TableRow gebe.
Java:
TableRow tableRow = new TableRow(this);
tableRow.setLayoutParams(new TableLayout.LayoutParams(
TableRow.LayoutParams.WRAP_CONTENT,
TableLayout.LayoutParams.WRAP_CONTENT, 0.5f));
table.addView(tableRow);
final Button btn = new Button(this);
btn.setLayoutParams(new TableRow.LayoutParams(
TableRow.LayoutParams.WRAP_CONTENT,
TableRow.LayoutParams.MATCH_PARENT, 0.5f));
//width wurde vorher anhand des Displays berechnet und in width, height genauso
btn.getLayoutParams().width = width;
btn.getLayoutParams().height = height;
btn.setMaxWidth(width);
btn.setMaxHeight(height);
btn.setId(countButton);
//Button bekommt Hintergrundbild
btn.setBackgroundResource(R.drawable.menubutton);
//Button bekommt Kategorienamen zugewiesen
btn.setText("\n \n \n \n" + categoryName + "\n");
btn.setPadding(0, 0, 0, 0);
tableRow.addView(btn);
}
}
Ich weiß gerade irgendwie echt nicht weiter. Was muss ich den Buttons, dem TableRow oder dem TableLayout für Attribute geben, damit es so aussieht wie gewünscht und es nicht so zerrissen wird? Ich habe auch zwischen WRAP_CONTENT und MATCH_PARENT herumprobiert, aber irgendwie wollte es nicht so recht.
Würde mich total über Hilfe freuen.
Gruß