跳到主要内容

布局接口(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) -> ()

若提供此方法,则在初始设置尺寸时调用,并在尺寸变化时再次调用。不响应布局盒的布局可以省略它;未实现时运行时直接 no-op。

-- 当布局根据内容调整大小时调用
-- 这仅适用于适应类型为 Hug 的布局
function resize(self: MyLayout, size: Vector)
print('Resize:', size)
end
看完还有疑问?进群交流下!
与众多 Rive 创作者、开发者一起交流探讨与答疑解惑。
加入交流群