7 Stimmen

Match_parent füllt Eltern nicht aus!

Ich habe LinearLayout innerhalb von TableRow. Das LinearLayout wird im Code folgendermaßen initialisiert:

LinearLayout mainRowLayout = new LinearLayout(this);
mainRowLayout.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
TableRow tr = new TableRow(this);
tr.addView(mainRowLayout);

Das Problem ist, dass das LinearLayout den Eltern-Container nicht ausfüllt (der TableRow). Die angehängten Bilder veranschaulichen das Problem, wie im Android hirarchyViewer gezeigt (Die grünen Rechtecke sind meine Markierungen).

"LinearLayout Bild"

Danke.

13voto

ataulm Punkte 14775

Beim Erstellen von Layouts programmgesteuert müssen Sie dem übergeordneten Container die Layoutanweisungen für das Kind geben.

// Kind-Element
LinearLayout mainRowLayout = new LinearLayout(this);

// Elternelement
TableRow tr = new TableRow(this);

// Anweisungen für das Elternelement (Layout-Parameter für Hauptzeile)
TableRow.LayoutParams lopForMainRow = new TableRow.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);

tr.addView(mainRowLayout, lopForMainRow);

Versuchen Sie es :]

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