So unterstreichen Sie Text im Flattern

102

Wie unterstreiche ich Text im Flattern innerhalb des TextWidgets?

Ich kann nicht scheinen, Unterstreichung innerhalb des fontStyleEigentums von zu findenTextStyle

Baum
quelle

Antworten:

228

Wenn Sie alles unterstreichen, können Sie im Text-Widget einen TextStyle festlegen.

Geben Sie hier die Bildbeschreibung ein

Text(
  'Hello world',
  style: TextStyle(
    decoration: TextDecoration.underline,
  ),
)

Wenn Sie nur einen Teil des Textes unterstreichen möchten, müssen Sie Text.rich()(oder ein RichText-Widget) verwenden und die Zeichenfolge in TextSpans aufteilen, denen Sie einen Stil hinzufügen können.

Geben Sie hier die Bildbeschreibung ein

Text.rich(
  TextSpan(
    text: 'Hello ',
    style: TextStyle(fontSize: 50),
    children: <TextSpan>[
      TextSpan(
          text: 'world',
          style: TextStyle(
            decoration: TextDecoration.underline,
          )),
      // can add more TextSpans here...
    ],
  ),
)

TextSpan ist etwas seltsam. Der textParameter ist der Standardstil, aber die childrenListe enthält den darauf folgenden gestalteten (und möglicherweise nicht gestalteten) Text. Sie können eine leere Zeichenfolge verwenden, textwenn Sie mit gestyltem Text beginnen möchten.

Sie können auch einen TextDecorationStyle hinzufügen, um das Aussehen der Dekoration zu ändern. Hier ist gestrichelt:

Geben Sie hier die Bildbeschreibung ein

Text(
  'Hello world',
  style: TextStyle(
    decoration: TextDecoration.underline,
    decorationStyle: TextDecorationStyle.dashed,
  ),
)

und TextDecorationStyle.dotted:

Geben Sie hier die Bildbeschreibung ein

und TextDecorationStyle.double:

Geben Sie hier die Bildbeschreibung ein

und TextDecorationStyle.wavy:

Geben Sie hier die Bildbeschreibung ein

Suragch
quelle
9
Ist es möglich, Leerzeichen zwischen den Wörtern und der Unterstreichungslinie einzufügen?
Felangga
@felangga, das ist eine gute Frage. Es würde wahrscheinlich mit der Grundlinie zusammenhängen. Das ist etwas, das ich genauer untersuchen möchte, aber ich weiß noch nicht, wie ich es machen soll. Erkunden Sie den Quellcode und lassen Sie mich wissen, wenn Sie es herausfinden.
Suragch
32

Sie tun es , indem decoration: TextDecoration.underlinezu TextStyleeinem Text.

Mit Themenbeispiel:

          Text(
            "text",
            style: Theme
                .of(context)
                .accentTextTheme
                .subhead
                .copyWith(decoration: TextDecoration.underline),
          )

Grundlegendes Beispiel:

          Text(
            "text",
            style: TextStyle(decoration: TextDecoration.underline),
          )
Baum
quelle
3

Sie können TextDecoration stilvoll verwenden, um einen bestimmten Text zu unterstreichen.

Zum Beispiel

Text(
    "Your text here",
    style: TextStyle(
        decoration: TextDecoration.underline),
    )
)
Anjali Kunder
quelle
2

zum Beispiel

Text(
  "Terms and Condition",
  style: TextStyle(
    decoration:
        TextDecoration.underline,
    height: 1.5,
    fontSize: 15,
    fontWeight: FontWeight.bold,
    fontFamily: 'Roboto-Regular',
  ),
),
Mohammed Alanany
quelle