Как подчеркнуть текст во флаттере внутри Text
виджета?
Я не могу найти подчеркивание внутри fontStyle
свойстваTextStyle
Ответы:
Подчеркивая все, вы можете установить TextStyle в виджете Text.
Text(
'Hello world',
style: TextStyle(
decoration: TextDecoration.underline,
),
)
Если вы хотите подчеркнуть только часть текста, вам нужно использовать Text.rich()
(или виджет RichText) и разбить строку на TextSpans, к которым вы можете добавить стиль.
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 немного странный. text
Параметр по умолчанию стиль , но children
список содержит текст в стиле (и , возможно , без стилей) , которые следуют его. Вы можете использовать пустую строку, text
если хотите начать со стилизованного текста.
Вы также можете добавить TextDecorationStyle, чтобы изменить внешний вид украшения. Вот пунктир:
Text(
'Hello world',
style: TextStyle(
decoration: TextDecoration.underline,
decorationStyle: TextDecorationStyle.dashed,
),
)
и TextDecorationStyle.dotted
:
и TextDecorationStyle.double
:
и TextDecorationStyle.wavy
:
Вы делаете это, обратившись decoration: TextDecoration.underline
к TextStyle
оф Text
.
С примером темы:
Text(
"text",
style: Theme
.of(context)
.accentTextTheme
.subhead
.copyWith(decoration: TextDecoration.underline),
)
Базовый пример:
Text(
"text",
style: TextStyle(decoration: TextDecoration.underline),
)
Вы можете использовать TextDecoration в стиле, чтобы подчеркнуть данный текст.
Например
Text(
"Your text here",
style: TextStyle(
decoration: TextDecoration.underline),
)
)
например
Text(
"Terms and Condition",
style: TextStyle(
decoration:
TextDecoration.underline,
height: 1.5,
fontSize: 15,
fontWeight: FontWeight.bold,
fontFamily: 'Roboto-Regular',
),
),