当前位置: 首页 > 知识库问答 >
问题:

RichText小部件在文本中内置了垂直填充

全流觞
2023-03-14

我有一个RichText小部件,它显示一个类似“5:21”的时间,其中分钟以粗体显示,秒不以粗体显示。

我正在使用小部件检查工具来观察文本的边界。

RichText小部件的区域在文本的上方和下方都有大量的填充(如10dp的顶部和底部)。在水平方向上,根本没有衬垫,该区域紧贴字体边缘。使用RichText时,如何使区域紧贴字体的顶部和底部?

return Column(
      mainAxisAlignment: MainAxisAlignment.center,
      crossAxisAlignment: CrossAxisAlignment.center,
      children: [
        RichText(
          textAlign: TextAlign.center,
          text: TextSpan(
            children: <TextSpan>[
              TextSpan(
                text: "$minutes:",
                style: textStyle,
              ),
              TextSpan(
                text: "$seconds".padLeft(2, '0'),
                style: textStyle.copyWith(fontWeight: FontWeight.w100),
              ),
            ],
          ),
        ),
        Text(
          "time",
        ),
      ],
    );

共有1个答案

晋奕
2023-03-14

试试这个

Container(
              padding: EdgeInsets.symmetric(horizontal: 16, vertical: 10),
              child: RichText(
                textAlign: TextAlign.center,
                text: TextSpan(
                  children: <TextSpan>[
                    TextSpan(
                      text: "$minutes:",
                      style: textStyle,
                    ),
                    TextSpan(
                      text: "$seconds".padLeft(2, '0'),
                      style: textStyle.copyWith(fontWeight: FontWeight.w100),
                    ),
                  ],
                ),
              ),
            ),
            Text(
              "time",
            ),
 类似资料:
  • 我向上看了看这里和酒吧。dev和flatter文档,但找不到(或者找不到我的查询)这个简单任务的任何解决方案。 我想显示一个,其字母从上到下排列,同时保持字母方向的默认值。因此,旋转的将不起作用。 我期望的结果是: 此外,我还需要将包装到下一行(本例中为列),需要一个高度参数来限制每列从上到下的字母数。 如果最后一部分太难实现,我愿意接受单列解决方案的想法。

  • 问题内容: 编码: 如现在所呈现的,跨度与div的左下角对齐。 问题答案: 请参阅我关于理解垂直对齐的文章。在讨论的最后,有多种技术可以实现您想要的。 (超简短摘要:或者将子级的行高设置为等于容器的高度,或者将子级的高度设置为在容器上并将子级绝对定位为,其中YYY为子级已知高度的一半。)

  • 问题内容: 下面的代码(也可以在JSFiddle上作为演示使用没有将文本放在中间,正如我理想中的那样。即使使用属性,我也找不到任何方法可以使文本垂直居中。我怎样才能做到这一点? 问题答案: 创建一个用于文本内容的容器,也许是。 JSFiddle

  • 我在对话框中使用MigLayout。 每个面板都使用MigLayout。 有一个用于显示行的面板。每个列都有一个面板(交付类型、选择元素、架次)。输出文件行有一个面板。有一个按钮面板。 也许有一种更好的方法,不用太多的面板? 我的代码 我的文本字段没有大小,直到我移动我的窗口,我不明白为什么。还有为什么不是每个列的组件从面板的顶部开始?

  • 问题内容: 我试图找到最有效的方法来使div对齐文本。我尝试了几件事,但似乎都没有用。 问题答案: 对于CSS 2浏览器,可以使用/ 来使内容居中。 jSFiddle提供了一个示例: 可以将旧浏览器(Internet Explorer 6/7)的hack合并为样式,并用于从较新的浏览器中隐藏样式:

  • 问题内容: 我有一个Google Maps应用程序占据了大部分页面。但是,我需要为菜单栏保留最上方的空间。如何使地图div自动填充其垂直空间? 不起作用,因为顶部栏随后会将地图推到页面底部。 问题答案: 您可以使用绝对定位。 HTML CSS 通过绝对定位并指定top,right,bottom和left属性,您将获得一个div占用整个视口。 然后,设置上为> =的高度。 最后,将其放置在内部并进行