ScrollBox 不滚动

ScrollBox does not scroll

我有一个 ScrollBox 对象,我使用 align:=TalignLayout.Bottom 和 parent:=scrollbox 在其中插入一些对象,对象插入成功但滚动框不滚动或显示 ScrollBars ,任何非常感谢您的帮助,感谢您的关心

滚动框显示其内容的视图,其中内容可能大于滚动框本身的可视区域所包含的区域。所以,例如:

如果上图中黑色矩形是滚动框,绿色矩形是内容的范围,则滚动框将允许用户使用滚动条(蓝色)将内容的下半部分滚动到视图中.

如果此内容被滚动,以至于现在有些内容超出了滚动框的 "top",而有些内容仍然超出了 "bottom",那么您最终会得到:

将滚动条设置为自动,只要滚动框可见区域上方或下方有内容,就会显示滚动条以允许滚动。

但是,如果内容完全包含在滚动框中,则没有可滚动的内容,因此也没有滚动条。关键的事实是对齐是相对于滚动框的 visible 区域。因此,例如,如果所有内容都与滚动框的顶部对齐(并且不超出底部):

在您的情况下,通过将对齐方式设置为 底部 ,您可以确保内容的位置与 底部对齐滚动框的可见 区域:

值得重申的是,出于对齐目的,滚动框的底部是该滚动框可见区域的底部,而不是任何"virtual area" 超出了滚动框本身。

使用滚动框时,您应该将滚动框的内容视为绝对定位。任何使用相对定位的尝试都会导致动态调整,并且可能 运行 出现问题,因为滚动框本身会尝试动态调整以适应任何内容。

如果您的布局需要相对于其他一些项目底部对齐,那么您可以为这些项目创建一个特定的容器。

例如,在这种情况下,您可以将单个面板作为滚动框中的一个项目。然后,您的项目可能会与该面板的底部对齐,面板的大小在 运行 时根据计算为所需的额外 space 的数量确定(并设置)"above" 那些底部对齐的控件。

然后,滚动框会将面板(灰色项目)显示为可滚动,而底部对齐会负责该面板内项目的布局。