跳到主要内容

布局接口(Layout)

脚本化布局(Layout)可像 节点(Node) 一样工作, 但同时还能够适配通过 resize 提供的布局盒。 它也可以具有内在尺寸:通过 measure 函数报告期望尺寸,允许宿主布局尝试适配其大小。

更多信息请参阅 布局脚本(Layout Scripts)

方法(Methods)

measure

measure(self: T) -> Vector

当提供此方法时,此布局可以具有内在尺寸/请求特定大小。这并非保证,因为布局可能有最小/最大尺寸限制。在测量后,会以授予的尺寸调用 resize。

-- 在 resize 时测量布局的计算尺寸
function measure(self: MyLayout): Vector
return Vector.xy(100, 100)
end

resize

resize(self: T, size: Vector) -> ()

保证在初始设置尺寸时调用,并在尺寸变化时也会调用。

-- 当布局根据内容调整大小时调用
-- 这仅适用于适应类型为 Hug 的布局
function resize(self: MyLayout, size: Vector)
print('Resize:', size)
end