Ich arbeite an meiner ersten Flatter-App. Der Hauptbildschirm der App weist dieses Problem nicht auf. Alle Texte werden so angezeigt, wie sie sollten.
In diesem neuen Bildschirm, den ich entwickle, haben alle Text-Widgets eine seltsame gelbe Linie / doppelte Linie darunter.
Irgendwelche Ideen, warum dies geschieht?
Scaffold
, können Sie Ihre einfachText
mitMaterial
WidgetAntworten:
Das Problem ist nicht a
Scaffold
oder nicht.Scaffold
für einen Helfer -Material
Anwendungen (AppBar
,Drawer
, dass solche Sachen). Aber du bist nicht gezwungen zu benutzenMaterial
.Was Sie vermissen, ist eine Instanz
Theme
als Elternteil.Warum ist das wichtig zu wissen? Denn wenn Sie ein Modal entwickeln (
showDialog
zum Beispiel mit), werden Sie das gleiche Problem haben. ABER Scaffold ist ein undurchsichtiges Vollbild-Widget! Und das willst du natürlich nicht in deinem Modal.Es gibt viele Möglichkeiten, eine Theme-Instanz einzuführen. In der Material-App wird dies normalerweise durch Instanziieren eines
Material
Widgets erreicht. Und rate was?Scaffold
erstellt eine für Sie. AberDialog
auch!quelle
Material
(oder ein beliebiges) Thema hinzufügen, während das Kind des Helden (BEIDE Seiten) es im Übergang behebt. Siehe github.com/flutter/flutter/issues/30647In
Material
Widget als Root - Element.quelle
text
oderwidget
mit demMaterial
Widget hat mir geholfen. Das Hinzufügen von Material als Stammelement hat in meinem Fall nicht geholfentype: MaterialType.transparency
als auch ohne.Sie können entweder
Scaffold
(im Allgemeinen besser) oder eine andere Komponente verwenden, die ein Materialthema wie ein einfaches bereitstelltMaterial
Widget .Hier ist das Beispiel, verwenden Sie eines von ihnen:
Als Problemumgehung können Sie Folgendes verwenden:
quelle
Der Textstil verfügt über ein Dekorationsargument, das auf "Keine" gesetzt werden kann
Wie bereits erwähnt, benötigen Sie den Textstil für die Dekoration nicht, wenn sich Ihr Text-Widget im Baum eines Gerüst- oder Material-Widgets befindet.
quelle
Sie können auch Dekoration verwenden: TextDecoration.none, um Unterstreichungen zu entfernen
quelle
Ich füge diesen Antworten nur einen anderen Weg hinzu.
Wickeln Sie das Root-Widget um ein DefaultTextStyle- Widget. Das Ändern jedes Text-Widgets ist hier nicht erforderlich.
Hoffe es hilft jemandem.
quelle
Sie sollten Material- und Gerüst-Widgets in der Datei main.dart hinzufügen
quelle
Hierfür gibt es eine andere Lösung, insbesondere wenn Sie mehrere Seiten verwenden, die unter der Datei main.dart verpackt sind. Sie können Folgendes tun:
Dadurch werden die gelben Linien unter dem Text entfernt, die auf allen Seiten vorhanden sind, auf die unter dem Wrapper verwiesen wird.
quelle
Sie müssen nur das Materialstamm-Widget hinzufügen.
quelle
2 Möglichkeiten sind verfügbar:
Verwenden Sie Scaffuld im übergeordneten Bildschirm. Verwenden Sie Material für das übergeordnete Element des Widgets
quelle