From 33786f2554ee4ffe41a04bd4adf3beefad65340a Mon Sep 17 00:00:00 2001 From: Jack Li Date: Mon, 14 Dec 2020 23:59:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8B=98=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit remove extra "`" --- docs/chapter14/render_object.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/chapter14/render_object.md b/docs/chapter14/render_object.md index 962b3849..0f1f0f03 100644 --- a/docs/chapter14/render_object.md +++ b/docs/chapter14/render_object.md @@ -4,7 +4,7 @@ `RenderObject`就是渲染树中的一个对象,它拥有一个`parent`和一个`parentData` 插槽(slot),所谓插槽,就是指预留的一个接口或位置,这个接口和位置是由其它对象来接入或占据的,这个接口或位置在软件中通常用预留变量来表示,而`parentData`正是一个预留变量,它正是由`parent` 来赋值的,`parent`通常会通过子`RenderObject`的`parentData`存储一些和子元素相关的数据,如在Stack布局中,`RenderStack`就会将子元素的偏移数据存储在子元素的`parentData`中(具体可以查看`Positioned`实现)。 -`RenderObject`类本身实现了一套基础的layout和绘制协议,但是并没有定义子节点模型(如一个节点可以有几个子节点,没有子节点?一个?两个?或者更多?)。 它也没有定义坐标系统(如子节点定位是在笛卡尔坐标中还是极坐标?)和具体的布局协议(是通过宽高还是通过constraint和size?,或者是否由父节点在子节点布局之前或之后设置子节点的大小和位置等)。为此,Flutter提供了一个`RenderBox`类,它继承自``RenderObject`,布局坐标系统采用笛卡尔坐标系,这和Android和iOS原生坐标系是一致的,都是屏幕的top、left是原点,然后分宽高两个轴,大多数情况下,我们直接使用`RenderBox`就可以了,除非遇到要自定义布局模型或坐标系统的情况,下面我们重点介绍一下`RenderBox`。 +`RenderObject`类本身实现了一套基础的layout和绘制协议,但是并没有定义子节点模型(如一个节点可以有几个子节点,没有子节点?一个?两个?或者更多?)。 它也没有定义坐标系统(如子节点定位是在笛卡尔坐标中还是极坐标?)和具体的布局协议(是通过宽高还是通过constraint和size?,或者是否由父节点在子节点布局之前或之后设置子节点的大小和位置等)。为此,Flutter提供了一个`RenderBox`类,它继承自`RenderObject`,布局坐标系统采用笛卡尔坐标系,这和Android和iOS原生坐标系是一致的,都是屏幕的top、left是原点,然后分宽高两个轴,大多数情况下,我们直接使用`RenderBox`就可以了,除非遇到要自定义布局模型或坐标系统的情况,下面我们重点介绍一下`RenderBox`。 ## 14.3.1 布局过程