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
?
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
.