web-dev-qa-db-fra.com

Quelle est la différence entre Material et MaterialApp dans Flutter?

Je développe une application utilisant Flutter. Si je choisis MaterialApp comme widget parent de mon application, tous les Text widgets de mon application sont soulignés en jaune. D'un autre côté, si j'utilise simplement Material comme widget parent, aucune ligne jaune ne s'affiche sous les widgets Text.

Quelle est la différence entre Material et MaterialApp?

12
Developine

MaterialApp est un widget qui présente de nombreux outils intéressants tels que Navigator ou Theme pour vous aider à développer votre application.

Material est, d'autre part, un widget utilisé pour définir un élément UI respectant les règles Material. Il définit ce qu'est l'élévation, la forme et le reste. Puis réutilisé par de nombreux widgets de matériaux tels que Appbar ou Card ou FloatingButton.

Le soulignement jaune que vous pouvez trouver dans Text est introduit par MaterialApp comme solution de rechange Theme. C'est ici à des fins de débogage, pour vous avertir que vous devez utiliser Material quelque part au-dessus de votre Text.

En bref, utilisez les deux. Vous devriez avoir un MaterialApp près de la racine de votre application. Et puis utilisez des widgets qui introduisent une instance Material (telle Scaffold, Appbar, Dialog, ...) lorsque vous souhaitez utiliser Text ou InkWell.

12
Rémi Rousselet