web-dev-qa-db-fra.com

Lignes jaunes sous les widgets de texte dans Flutter?

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?

Yellow Lines

43
sofakingforever

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!

55
Rémi Rousselet

Ajoutez le widget Material en tant qu'élément racine.

@override
  Widget build(BuildContext context) {
    return Material(
        type: MaterialType.transparency,
        child: new Container(
45
Dyvoker

Aussi, vous pouvez utiliser decoration: TextDecoration.none pour supprimer le soulignement

5
Anirudh Sharma

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"),);
5
CopsOnRoad

Vous devez ajouter les widgets Matériel et Scaffold dans le fichier main.Dart.

 MaterialApp(
  home: Scaffold(
    body: Text('Hello world'),
  ),
);
0
kokemomuke