Je travaille sur ma première application Flutter. L'écran principal de l'application n'a pas ce problème, tous les textes s'affichent comme ils le devraient.
Cependant, dans ce nouvel écran que je développe, tous les widgets de texte ont une étrange ligne jaune / double ligne en dessous.
Des idées sur pourquoi cela se produit?
Scaffold
, vous pouvez juste votre entourageText
avec unMaterial
widgetRéponses:
Le problème est de ne pas en avoir
Scaffold
ou non.Scaffold
est une aide pour lesMaterial
applications (AppBar
,Drawer
, ce genre de choses). Mais vous n'êtes pas obligé de l'utiliserMaterial
.Ce qui vous manque, c'est une instance de
Theme
parent.Pourquoi est-ce important de savoir? Parce que lorsque vous développerez un Modal (en utilisant
showDialog
par exemple), vous serez confronté au même problème. MAIS Scaffold est un widget plein écran opaque! Et vous ne voulez évidemment pas cela dans votre Modal.Il existe de nombreuses façons d'introduire une instance de thème. Dans Material App, cela est généralement réalisé en instanciant un
Material
widget. Et devine quoi?Scaffold
crée un pour vous. MaisDialog
aussi!la source
Material
(ou d'un thème) en tant qu'enfant du héros (LES DEUX côtés) le corrige dans la transition. Voir github.com/flutter/flutter/issues/30647Ajoutez un
Material
widget comme élément racine.la source
text
ouwidget
avecMaterial
m'a aidé. L'ajout de matériel en tant qu'élément racine n'a pas aidé dans mon castype: MaterialType.transparency
ou sans aucun.Vous pouvez utiliser
Scaffold
(généralement mieux) ou tout autre composant qui fournit un thème matériel comme un simpleMaterial
widget.Voici l'exemple, utilisez l'un d'entre eux:
Pour contourner ce problème, vous pouvez utiliser:
la source
Le style de texte a un argument de décoration qui peut être défini sur aucun
De plus, comme d'autres l'ont mentionné, si votre widget Texte est dans l'arborescence d'un widget Scaffold ou Material, vous n'aurez pas besoin du style de texte de décoration.
la source
Vous pouvez également utiliser la décoration: TextDecoration.none pour supprimer le soulignement
la source
Juste en ajoutant une autre façon que je rencontre à ces réponses.
Enveloppez le widget racine autour d'un widget DefaultTextStyle . Modifier chaque widget Texte n'est pas une nécessité ici.
J'espère que ça aide quelqu'un.
la source
Vous devez ajouter des widgets Matériel et Scaffold dans le fichier main.dart
la source
Il existe une autre solution pour cela, surtout si vous utilisez plusieurs pages enveloppées dans le fichier main.dart.Vous pouvez faire quelque chose comme ceci:
Cela supprimera les lignes jaunes sous le texte présent dans toutes les pages référencées / utilisées sous wrapper.
la source
Il vous suffit d'ajouter le widget racine du matériau.
la source
2 façons sont disponibles:
utiliser scaffuld dans le parent de l'écran
utiliser du matériel pour le parent du widget
la source