Grafik Tablerow, Button erstreckt sich in der gesamten Breite trotz Beschrenkung durch (max)width

kuzdu

Aktives Mitglied
Hallo Leute,

ich möchte mein Layout wie folgt gestalten:
right.png


Es sieht allerdings so aus:
wrong.png


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ß
 

dzim

Top Contributor
Mir fiele spontan nur ein Fake ein: Einen leeren View daneben setzen... Oder eine kleinen Layout anlegen und inflaten, das zwei Buttons enthält und die Buttons bei nicht-Bedarf auf #setVisibility(View#INVISIBLE) setzen...
 

kuzdu

Aktives Mitglied
Hey,
habe deinen Rat befolgt, fülle allerdings einfach mit unsichtbaren, deaktivierten Buttons auf.

Falls das mal für jmd. relevant sein sollte, das sieht dann so ähnlich aus:

Java:
// Schleife anhand von Filler einbauen
						for (int i = 0; i < filler; i++) {

							final Button btnInvisible = new Button(this);
							btnInvisible
									.setLayoutParams(new TableRow.LayoutParams(
											TableRow.LayoutParams.MATCH_PARENT,
											TableRow.LayoutParams.WRAP_CONTENT,
											0.5f));

							btnInvisible.setId(countButton);
							btnInvisible.setVisibility(View.INVISIBLE);
							btnInvisible.setEnabled(false);
							btnInvisible.setPadding(0, 0, 0, 0);

							tableRow.addView(btnInvisible);
						}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J ImageView: Bilder in niedriger Grafik anzeigen lassen Android & Cross-Platform Mobile Apps 2
L Android Grafik in Circle Objekt füllen Android & Cross-Platform Mobile Apps 3
D Android EditText und TextView haben unterschiedliche größen innerhalb einer TableRow Android & Cross-Platform Mobile Apps 18
T Android Studio: Einen Button in einer For Schleife verwenden Android & Cross-Platform Mobile Apps 2
W App deinstallieren per Button & Andere App Öffnen per Button Android & Cross-Platform Mobile Apps 24
W Apk automatisch installieren per Button Android & Cross-Platform Mobile Apps 55
W aus Fragmente in andere Klasse wechseln mit Button Android & Cross-Platform Mobile Apps 3
T App updaten via Button Android & Cross-Platform Mobile Apps 10
AGW Android Teilen Button ändern Android & Cross-Platform Mobile Apps 14
A Button in SurfaceView integrieren Android & Cross-Platform Mobile Apps 10
J Android App - Browser öffnen und Text eingeben/Button click auslösen Android & Cross-Platform Mobile Apps 10
L Button zum Quadrad zwingen Android & Cross-Platform Mobile Apps 2
S Android Absoluter Neuling: EditText zur Laufzeit verändern bzw. über Button Android & Cross-Platform Mobile Apps 2
L Dialog anzeigen wenn auf Button gedrückt wird. Android & Cross-Platform Mobile Apps 4
S Android ListFragment & ArrayAdapter - Button-Werte werden vergessen Android & Cross-Platform Mobile Apps 0
B Android Abfragen wie lang ein Button gedrückt wurde Android & Cross-Platform Mobile Apps 2
J Android button mithilfe einer Methode automatisch erstellen Android & Cross-Platform Mobile Apps 6
A AlertDialog Enable Button Android & Cross-Platform Mobile Apps 1
J Button array ID Problem Android & Cross-Platform Mobile Apps 2
D Android Activity wechseln per Button Android & Cross-Platform Mobile Apps 3
B Android ringProgressDialog nach Erfolg Button einfärben Android & Cross-Platform Mobile Apps 2
A Android Menü Button oben links Android & Cross-Platform Mobile Apps 1
B Mit Button GeräteEinstellung des Handys öffnen Android & Cross-Platform Mobile Apps 3
M Android Android "Up-Button" extra definieren? Android & Cross-Platform Mobile Apps 1
K Problem mit arraylist und button Android & Cross-Platform Mobile Apps 16
T Button aktivieren per Qullcode... Android & Cross-Platform Mobile Apps 3
T Button geht net... Android & Cross-Platform Mobile Apps 2
D Man sieht nicht ob Button gedrückt wurde! Android & Cross-Platform Mobile Apps 10
G Button ein Wert zuweisen Android & Cross-Platform Mobile Apps 5
M 20 Image Button für jede Auflösung positionieren Android & Cross-Platform Mobile Apps 3
B Android Button erstellen nach Vorlage Android & Cross-Platform Mobile Apps 4
L Android Button mit Pfeil nach rechts Android & Cross-Platform Mobile Apps 1
M Einzel Verarbeitung welcher Button angeklickt wurde? Android & Cross-Platform Mobile Apps 6
G Back-Button Methode überschreiben Android & Cross-Platform Mobile Apps 2
P Android Option Button Android & Cross-Platform Mobile Apps 4
G Check Button ist unchecked trotz setChecked(true) Android & Cross-Platform Mobile Apps 6
G Android Button mit Bild Android & Cross-Platform Mobile Apps 4
W Android App Programmierung - Button ganz transparent machen Android & Cross-Platform Mobile Apps 3
L Custom Dialog Button event Android & Cross-Platform Mobile Apps 2
J Button rechtsbündig Android & Cross-Platform Mobile Apps 5
A Android Button Array? Android & Cross-Platform Mobile Apps 6
P Android Button mit bild versehen Android & Cross-Platform Mobile Apps 4
J "Button" auf List erstellen Android & Cross-Platform Mobile Apps 4
U Fire button und Command.BACK, 1 kommen sich in die quere Android & Cross-Platform Mobile Apps 2

Ähnliche Java Themen

Neue Themen


Oben