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

其中是颤振源代码中文本小部件的RenderObject类

濮阳原
2023-03-14

我正在研究文本小部件在Flutter中是如何工作的。我知道这些小部件只是蓝图。它是实现小部件的元素。元素生成一个RenderObject来布局并在屏幕上绘制小部件。我想这就是它的工作原理。

  • 文本小部件的源代码很容易找到。在这儿

但是我似乎找不到任何叫做RenderText的东西。谁在做文本渲染?它的元素是什么?

共有1个答案

鲜于德泽
2023-03-14

我找到了。它被称为RenderParagraph,而不是RenderTextText小部件在其构建方法中创建一个RichText小部件RenderParagraph是与RichText小部件相对应的RenderObject。另一个重要的类是textpainer,它被RenderParagraph用来协调段落文本的绘制。绘画本身在C/C中的LibTxt库中进行得甚至更低。

 类似资料:
  • 我向上看了看这里和酒吧。dev和flatter文档,但找不到(或者找不到我的查询)这个简单任务的任何解决方案。 我想显示一个,其字母从上到下排列,同时保持字母方向的默认值。因此,旋转的将不起作用。 我期望的结果是: 此外,我还需要将包装到下一行(本例中为列),需要一个高度参数来限制每列从上到下的字母数。 如果最后一部分太难实现,我愿意接受单列解决方案的想法。

  • 我想在左边部分显示个人资料图像,中间部分显示名称和公司(一个在另一个下面),右边部分显示列表图块内的评论和评级。我能够正确显示图像,评论和评级,但文本不显示。我想实现这一点: 图片和评级之间的空白是我想要显示文本的地方(姓名和公司,一个在另一个下面)。不知道我在这里错过了什么。 下面的代码片段: 在我看来,这似乎是一个返回

  • 我有一个文本文件(.txt),我想成为以后可以扫描的资源。 在pubspec.yaml,我已经确保: 存在。该文件位于我创建的文件夹中,与和处于同一级别 我试图从自定义类读取文件,而不是小部件。 根据文档,我将使用此导入: 然后开始这样读: 要获得实际数据,请执行以下操作: 但是,当我使用

  • 我很熟悉flutter中的无状态和有状态小部件,但我很好奇为什么我们不将有状态小部件定义为无状态小部件?为什么我们需要声明两个不同的类,一个用于createstate方法,一个用于实际的状态实现?

  • 我试图添加一些填充的顶部和底部的一些文字和图标在一个卡片小部件。我发现flutter为容器提供了一种简单的方法,但似乎找不到其他小部件的方法(除了将它们包装在容器中)。这是我目前得到的代码: 因此,在我的子列中,我想在顶部和底部添加一些填充,而不必插入新的容器。这可能吗?

  • 这听起来可能很容易,但是我们如何在颤振中做多行可编辑的文本字段?文本字段只适用于单行。 编辑:有些精度,因为它似乎不清楚。虽然可以将“多行”设置为虚拟包装文本内容,但它仍然不是多行。它是一行显示为多行。如果你想做这样的事情,你就不能。因为你没有权限进入按钮。没有回车键意味着没有多行。