是否可以在 TFlowLayout 中使用 TVertScrollBox 在 FireMonkey 中垂直滚动?

Is it possible to use TVertScrollBox in TFlowLayout for scrolling vertical in FireMonkey?

我正在开发一个新的 FMX 项目,我需要使用 TFlowLayout

当前项目数已 space。我决定使用 TVertScrollBox 但它不起作用。

有什么方法可以使用 TFlowLayout 进行垂直滚动吗?

当然可以。要进行测试,请启动一个新的空白 FMX 项目,将一个 TVertScrollBox 放到窗体上,然后将一个 TFlowlayout 放到 TVertScrollbox 中。使用结构视图确保 TFlowlayout 在 TVertscrollbox 内。

现在调整 TFlotlayout 组件的大小,即使在 IDE.

中也可以垂直滚动

我在 Berlin 10.1 Update 2 中快速尝试了这个,它按预期工作。

您没有 post 任何代码,但是如果您在运行时向 TFLowLayout 添加对象,您将需要创建一个 AutoSize 函数来调整 TFlowLayout 的高度,使其足够大以适应所有它的子对象并将 TFlowLayout 对齐到 TVertScrollbox 的顶部。如果您不知道如何实现 AutoSize 函数,我建议您 post 一个带有示例代码的单独问题。

为确保在 VertScrollBox 内滚动 FlowLayout,请设置 FlowLayout.Align:=alTop 不是 alClient,因为在这种情况下,Flowlayout 的高度将始终绑定到它的父级的高度。所有超过此高度的内容都将被剪切。