Travailler sur ma première application de flutter. Ce problème n'apparaît pas sur l'écran principal de l'application. 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?
Le problème est de ne pas avoir Scaffold
ou pas. Scaffold
est un assistant pour Material
apps (AppBar
, Drawer
, ce genre de choses). Mais vous n'êtes pas obligé d'utiliser Material
.
Ce qui vous manque, c'est une instance de Theme
en tant que parent.
Pourquoi est-ce important de savoir? Parce que lorsque vous développerez un Modal (en utilisant showDialog
par exemple), vous rencontrerez le même problème. MAIS Scaffold est un widget opaque plein écran! Et vous ne voulez évidemment pas cela dans votre Modal.
Il existe plusieurs façons d'introduire une instance de thème. Dans Material App, ceci est généralement réalisé en instanciant un widget Material
. Et devine quoi? Scaffold
en crée un pour vous. Mais Dialog
aussi!
Ajoutez le widget Material
en tant qu'élément racine.
@override
Widget build(BuildContext context) {
return Material(
type: MaterialType.transparency,
child: new Container(
Aussi, vous pouvez utiliser decoration: TextDecoration.none pour supprimer le soulignement
Vous pouvez utiliser Scaffold
(généralement meilleur) ou tout autre composant fournissant un thème matériel, comme un simple widget Material
.
Voici l'exemple, utilisez n'importe lequel d'entre eux:
var text = Scaffold(body: Text("Hi"),);
var text2 = Material(child: Text("Hi"),);
Vous devez ajouter les widgets Matériel et Scaffold dans le fichier main.Dart.
MaterialApp(
home: Scaffold(
body: Text('Hello world'),
),
);