Как подчеркнуть текст во флаттере внутри 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', ), ),
источник