İçeriğe geç / Skip to content / Zum Inhalt
Ahmet Balaman LogoAhmet Balaman

Flutter: Ausrichtung von Row und Column mit mainAxisSize steuern

Ahmet Balaman
FluttermainAxisSizeRowColumnAlignmentLayout

mainAxisSize beeinflusst unmittelbar, wie viel Platz Row und Column einnehmen. Wer das Ausrichtungsverhalten verstehen und kompakte Layouts bauen will, kommt an dieser Einstellung nicht vorbei.

Live-Demo

Sie können mainAxisSize im interaktiven Beispiel unten ausprobieren:

💡 Falls das Beispiel oben nicht lädt, klicken Sie auf DartPad, um es in einem neuen Tab auszuführen.

Was verändert mainAxisSize?

Standardmäßig dehnen sich Row und Column entlang ihrer Hauptachse so weit wie möglich aus. Mit mainAxisSize: MainAxisSize.min nehmen sie nur den Platz ein, den der Inhalt benötigt.

Dieses Thema passt gut zu Suchanfragen wie „flutter mainAxisSize row column“, „Ausrichtung steuern“ und „kompaktes Layout Flutter“.

Einfaches Beispiel

Row(
  mainAxisSize: MainAxisSize.min,
  mainAxisAlignment: MainAxisAlignment.center,
  children: const [
    Icon(Icons.star),
    SizedBox(width: 8),
    Text('Compact'),
  ],
)

Das Zusammenspiel mit der Ausrichtung

Mit mainAxisSize.max haben Ausrichtungsregeln wie mainAxisAlignment.spaceBetween mehr Spielraum, weil mehr Platz zu verteilen ist. Mit mainAxisSize.min wird das Layout enger und dadurch besser kontrollierbar.

Verwendung in einer Column

Column(
  mainAxisSize: MainAxisSize.min,
  crossAxisAlignment: CrossAxisAlignment.start,
  children: const [
    Text('Title'),
    SizedBox(height: 8),
    Text('Subtitle'),
  ],
)

Die besten Einsatzfälle

  • Button-Gruppen
  • Inhalte von Dialogen
  • Zeilen mit Chips und Symbolen
  • Kompakte Textblöcke innerhalb von Karten

Häufige Fehler

  • Sich überall auf das Standardverhalten verlassen
  • Die Hauptachse von Row und Column verwechseln
  • mainAxisSize.min als Lösung für volle Breite oder Höhe missverstehen

Häufig gestellte Fragen

Warum sollte man mainAxisSize und Ausrichtung zusammen betrachten?

Weil die Menge des verfügbaren Platzes das Ergebnis der Ausrichtung direkt verändert.

Sollte ich min oder max wählen?

Nehmen Sie min, wenn der Inhalt kompakt bleiben soll. Nehmen Sie max, wenn das Layout den verfügbaren Platz ausfüllen soll.

Wirkt sich diese Einstellung auf die Performance aus?

Sie beeinflusst eher das Layout-Verhalten als die reine Performance.

Zusammenfassung

mainAxisSize ist ein zentraler Baustein der Platzsteuerung von Row und Column in Flutter. Zusammen mit der Ausrichtung eingesetzt hilft es Ihnen, sauberere, kompaktere und professionellere Oberflächen zu bauen.

Kommentare