代号一个 - 可滚动的布局限制

时间:2017-07-31 13:38:00

标签: layout codenameone scrollable

我已经完成了我自己的PropertyCross Demo版本(在他们的演示部分中提供)。

我目前面临的问题是"最近搜索"区域。虽然我有一个不可滚动的容器,但我可以轻松定义首选高度。由于Box Layout遵循首选大小,一切都很好,没有能够滚动它并看到多个结果的小问题:

recentSearchContainer = new Container(new BoxLayout(BoxLayout.Y_AXIS)); recentSearchContainer.setPreferredH((int)(this.getContentP‌​ane().getHeight() * 0.1f));

一旦我将容器设置为可滚动,首选高度就会被覆盖并占用所需的空间,从其上方的BorderLayout Center片段占用太多空间。

如何操作可滚动组件的首选大小?

Location Search button is not visible.

2 个答案:

答案 0 :(得分:1)

您不操纵首选尺寸。滚动条占用更多空间,因此如果您需要占用特定数量的空间,则需要使用正确的布局类型,在这种情况下可能不是边框布局......

边框布局为NORTH / SOUTH元素提供了首选高度,这可能不是您想要的。您可能需要一个将高度除以50/50的网格布局。您可能需要一个表格布局,您可以在其中定义百分比等高度。

答案 1 :(得分:0)

对于那些感兴趣的人,这是解决方案:

  1. 使用单个列和所需的行设置表格布局(类似于框布局y轴或仅北,中,南的边框布局)。

  2. 将表格布局设置为不可滚动,因此默认为屏幕的100%。

  3. 添加屏幕高度为%的组件。

  4. 这些组件可以滚动,但仍会坚持高度限制!

    resp.target.result
  5. 像魅力一样!