【问题标题】:TableLayout heightPercentage: percentage of what?TableLayout heightPercentage:百分比是多少?
【发布时间】:2017-02-02 12:40:57
【问题描述】:
我需要创建一个布局为两行的Container,第二行的高度是第一行的两倍,并将容器放在BorderLayout 的南侧位置。我尝试使用具有两行一列的TableLayout 来执行此操作,分别将高度百分比设置为 33 和 67。然而TableLayout 填满了整个屏幕,而不仅仅是“南”区域。 javadocs 表示高度百分比是指“父级”,我假设它是带有TableLayout 的容器。但是,显然,有问题的父级将是显示器。
我的下一个尝试是创建一个三行一列的 TableLayout,使下部内容的垂直跨度为 2。但底部的行就消失了。
有没有我忽略的解决方案?
【问题讨论】:
标签:
codenameone
tablelayout
【解决方案1】:
布局中有两个独立的阶段,请求首选尺寸和处理分配的尺寸。
在请求阶段,我们没有所有内容的最终大小,因此这是“猜测的”(令人惊讶的是,我的拼写检查器没有标记?)。
在我们进行布局时,我们已经根据该首选尺寸分配了一个尺寸,然后根据该分配的尺寸计算百分比。
如果您将表格布局容器放置在边框布局的中心,它将获得所有可用空间,因此计算阶段的首选大小方面将变得毫无意义,然后百分比将是分配给组件的空间,即“所有可用空间”。自然滚动将其带入一个完全不同的维度。