如何在flatter-insidetext
widget中为文本加下划线?
在TextStyle
令人兴奋的解决方案
如果您想控制文本和下划线之间的距离,可以使用此技巧。简而言之,可以使用颜色隐藏实际文本。透明,然后显示悬停在文本下划线上方的偏移阴影。
Text(
"Forgot Password?",
style: TextStyle(
shadows: [
Shadow(
color: Colors.black,
offset: Offset(0, -5))
],
color: Colors.transparent,
decoration:
TextDecoration.underline,
decorationColor: Colors.blue,
decorationThickness: 4,
decorationStyle:
TextDecorationStyle.dashed,
),
)
正如您将在下面看到的,如果您使用开箱即用的文本下划线,它会粘在文本的底部,看起来有点丑,
无聊的解决方案
仅使用文本小部件,您可以添加具有自定义样式和颜色的下划线:
Text(
"Forgot Password?",
style: TextStyle(
decoration: TextDecoration.underline,
decorationColor: Colors.blue,
decorationThickness: 4,
decorationStyle: TextDecorationStyle.dashed,
),
)
我对这种方法的唯一问题是,您无法控制下划线与文本底部的距离。
如果要增加行间距,必须使用使用Container及其填充属性的非常规方法。
Container(
padding: EdgeInsets.only(
bottom: 5, // Space between underline and text
),
decoration: BoxDecoration(
border: Border(bottom: BorderSide(
color: Colors.amber,
width: 1.0, // Underline thickness
))
),
child: Text(
"Forgot Password?",
style: TextStyle(
color: Colors.black,
),
),
)
关注这个GitHub问题,寻找更简单的解决方案。
您可以通过应用装饰:text装饰来实现。在
文本
的文本样式
下划线。
以主题为例:
Text(
"text",
style: Theme
.of(context)
.accentTextTheme
.subhead
.copyWith(decoration: TextDecoration.underline),
)
基本示例:
Text(
"text",
style: TextStyle(decoration: TextDecoration.underline),
)
在为所有内容添加下划线时,可以在文本小部件上设置文本样式。
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有点奇怪。文本
参数是默认样式,但子项
列表包含其后的已设置样式(可能未设置样式)的文本。如果要以样式化文本开头,可以为文本使用空字符串。
您还可以添加TextDecorationStyle来更改装饰的外观。以下是虚线:
Text(
'Hello world',
style: TextStyle(
decoration: TextDecoration.underline,
decorationStyle: TextDecorationStyle.dashed,
),
)
和
文本装饰风格。虚线
:
和
文本装饰风格。双精度
:
和
文本装饰风格。波浪形
:
如何从文件中读取文本并将文本写入文件? 我一直在学习如何在文件中读写文本。我发现了另一个关于从资产中读取的问题,但这是不同的。我将根据从文档中学到的知识,在下面添加我的答案。
问题内容: 使用CSS后,如果应用了文本,是否可以增加文本和下划线之间的距离? 问题答案: 不可以,但是您可以使用和。 如果要使用与“下划线”相同的颜色(在我的示例中为边框),则只需省略颜色声明,即和。 对于多行,可以将多行文本包装在元素内的跨度中。例如,然后添加并在-
我是第一次开发颤振应用程序。。我在添加图像时遇到问题。我有以下问题: 在哪里创建图像文件夹? 在哪里添加资产标签pubspec.ymal? 这需要任何资产文件夹吗? 我所尝试的: 在pubspec内部。ymal: 完整文件: 错误日志: 我的主菜。dart代码: 我指的是这个教程https://flutter.io/tutorials/layout/ 此外,我想问,有没有在颤振清洁重建的工具,因为
工作在我的第一个flutter应用程序。主应用程序屏幕没有这个问题,所有的文本都应该显示出来。 然而,在我正在开发的这个新屏幕中,所有的文本小部件下面都有一些奇怪的黄线/双线。 你知道为什么会这样吗?
只是尝试在JTextPane中为文本着色--但问题是文本和下划线不能有不同的颜色。我该怎么做,或者这可能吗?下面的示例打印所有文本并用红色下划线。