如何在颤振文本小部件内下划线文本?
我似乎无法在TextStyle的fontStyle属性内找到下划线
如何在颤振文本小部件内下划线文本?
我似乎无法在TextStyle的fontStyle属性内找到下划线
当前回答
风格:TextStyle ( 装饰:TextDecoration.underline, ),
其他回答
风格:TextStyle ( 装饰:TextDecoration.underline, ),
你可以在样式中使用TextDecoration来强调给定的文本。
例如
Text(
"Your text here",
style: TextStyle(
decoration: TextDecoration.underline),
)
)
最自定义的方法是将文本包装在容器中,并给出底部边框。你也可以根据你的设计给文本和下划线之间的空格。请参考乔·穆勒,最后一个选择。
Container(
padding: const EdgeInsets.only(
bottom: 5, // Space between underline and text
),
decoration: BoxDecoration(
border: Border(bottom: BorderSide(
color: Colors.amber,
width: 2.0, // Underline thickness
))
),
child: Text(
"Forgot Password?",
style: TextStyle(
color: Colors.black,
),
),
)
另一个例子
child: Text.rich(
TextSpan(
text: 'By using our mobile app, you agree to our ',
children: [
TextSpan(
text: 'Term of Use',
style: TextStyle(
decoration: TextDecoration.underline,
)
),
TextSpan(text: ' and '),
TextSpan(
text: 'Privacy Policy',
style: TextStyle(
decoration: TextDecoration.underline,
)
),
]
),
),
输出:
当给所有东西加下划线时,你可以在文本小部件上设置一个TextStyle。
Text(
'Hello world',
style: TextStyle(
decoration: TextDecoration.underline,
),
)
如果你只想强调文本的一部分,那么你需要使用text .rich()(或RichText小部件)并将字符串分解为可以添加样式的textspan。
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参数是默认的样式,但是子列表包含后面有样式的(也可能是无样式的)文本。如果要从样式文本开始,可以为文本使用空字符串。
你也可以添加一个TextDecorationStyle来改变装饰的外观。下面是虚线:
Text(
'Hello world',
style: TextStyle(
decoration: TextDecoration.underline,
decorationStyle: TextDecorationStyle.dashed,
),
)
和TextDecorationStyle.dotted:
和TextDecorationStyle.double:
和TextDecorationStyle.wavy: