web-dev-qa-db-fra.com

Flutter: Expanded vs Flexible

J'ai utilisé les deux widgets Expanded et Flexible et ils semblent fonctionner de la même manière. Y a-t-il une différence entre les deux que j'ai manqués?

33
Volleyball
Scaffold(
  appBar: AppBar(),
  body: Column(
    children: <Widget>[
      Row(
        children: <Widget>[
          buildExpanded(),
          buildFlexible(),
        ],
      ),
      Row(
        children: <Widget>[
          buildExpanded(),
          buildExpanded(),
        ],
      ),
      Row(
        children: <Widget>[
          buildFlexible(),
          buildFlexible(),
        ],
      ),
    ],
  ),
);

enter image description here

44
Raouf Rahiche

Expanded n'est qu'un raccourci pour Flexible

En utilisant étendu de cette façon:

Expanded(
  child: Foo(),
);

est strictement équivalent à:

Flexible(
  fit: FlexFit.tight,
  child: Foo(),
);

Vous souhaiterez peut-être utiliser Flexible sur Expanded lorsque vous voulez un autre fit, utile dans certaines présentations réactives.

La différence entre FlexFit.tight et FlexFit.loose est que loose permettra à son enfant d’avoir une taille maximale tout en le contraignant à remplir l’espace disponible.

44
Rémi Rousselet

Élargi - il est flexible et ajusté

class Expanded extends Flexible {
    const Expanded({
    Key key,
    int flex = 1,
@required Widget child,
}) : super(key: key, flex: flex, fit: FlexFit.tight, child: child);
}
5
Andrey Turkovsky

Vous pouvez utiliser Flexible pour redimensionner les widgets en lignes et colonnes . Il est principalement utilisé pour ajuster l'espace des différents widgets enfants tout en conservant la relation avec leurs widgets parents.

Pendant ce temps, Expanded modifie les contraintes envoyées aux enfants de lignes et Colonnes; cela aide à remplir les espaces disponibles là-bas. Par conséquent, lorsque vous enveloppez votre enfant dans un widget développé, il remplit les espaces vides.

Fournir ces vidéos à partir de la chaîne YouTube officielle de Flutter uniquement pour aider les personnes susceptibles de le rechercher dans le futur à venir ...

  1. Expanded:

  2. Flexible:

4
asifMojtoba