Expanded remplit la ligne
Fait partie de la section Des mises en page adaptées du Journey Flutter de Coddy. Leçon 1 sur 30.
Une Row donne à chaque enfant la largeur qu’il demande. Une boîte sans largeur est aussi large que son texte, donc le reste de la ligne reste vide.
Enveloppe un enfant dans Expanded et il occupera tout l’espace laissé par les autres enfants :
Row(
children: [
Container(width: 100, color: Colors.red),
Expanded(
child: Container(color: Colors.blue),
),
],
)Sur un téléphone de 390 pixels de large, la boîte rouge conserve ses 100 pixels et la boîte bleue occupe les 290 restants. Sur un écran plus large, la boîte bleue s’agrandit ; la rouge reste à 100 pixels.
Expanded fonctionne aussi dans une Column, où il remplit la hauteur restante.
Défi
FacileLa barre de recherche est trop courte. Faites en sorte que la boîte Search remplisse le reste de la ligne, afin qu’elle fasse 310 pixels de large à côté de la boîte Menu de 80 pixels.
Essayez vous-même
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
appBar: AppBar(title: const Text('Shop')),
body: Column(
children: [
Row(
children: [
Container(
width: 80,
height: 56,
color: Colors.indigo,
child: const Center(
child: Text('Menu', style: TextStyle(color: Colors.white)),
),
),
Container(
height: 56,
color: Colors.indigo.shade100,
child: const Center(child: Text('Search')),
),
],
),
],
),
),
);
}
}
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Des mises en page adaptées
1Partager une ligne
Expanded remplit la lignePartager l’espace avec flexFlexible épouse son enfantSpacer écarte les éléments4Tailles et points de rupture
Pleine largeur : double.infinityUne largeur maximaleTaille de l’écran : MediaQueryPoints de rupture de LayoutBuilder2L’erreur de débordement
L’erreur de débordementCorrection du débordement : agrandirCorrection du débordement : faire défilerCorrection du débordement : renvoyer à la ligneEspacement à l’intérieur d’un renvoi à la ligne5Énumérations et switch
Énumérations pour les types d’écranUtiliser switch avec une énumérationExpressions switchEntraînez-vous par vous-même : Compilateur Flutter en ligne