我们有许多屏幕,其中使用不同类型的GWT面板.
许多屏幕的一个常见问题是,内容大小是在运行时导出的.因此,如果我为面板(垂直/水平/ DockPanel)定义高度,并且在面板内添加任何新组件或内容更多时,面板高度保持不变.所以我们无法看到内容.UI外观变得最糟糕.
我们如何处理高度问题?当屏幕中的内容发生变化时,我们是否必须手动编码以调整每个面板/窗口小部件的高度.这不是一种非常糟糕的编码方式吗?此外,现在我们在某些地方有数据网格,如果没有记录很少,我们在数据网格下面看到一个巨大的空间,不知道我们如何处理这些情况?
根据评论更新下面的几个示例:您是说当我们知道内容垂直增长时,我们总是可以选择FlowPanel.因为,我们使用了一些屏幕垂直面板/水平面板,当用户点击某些内容时,会添加和显示新字段.因此垂直面板/水平面板高度自动无法调整.另一个例子是我们在Dock布局面板内容区域内有主垂直面板,并且内部有一些内容可能不同的小部件.那么现在如果我使用FlowPanel来调整大小不同的内容,那么外面板呢?会调整吗?再说一下我们使用的面板类型 - Dock Layout Panel与固定的页眉,页脚,左侧菜单和内容区域一起使用.内容区域中使用滚动面板.我们所有不同的小部件都在里面,这是水平/垂直/ datagrids..etc的混合和匹配.
在GWT(和HTML)中,您既可以设置面板的高度,也可以让它自然展开.一般来说,一旦设定了某物的高度,就会失去让它自然膨胀的能力.
GWT中的某些面板隐含地设置了自己的高度(或者要求您设置它们的高度),因此对于动态大小的内容来说永远不是好的选择.例如,LayoutPanels和ScrollPanels永远不会动态调整,并希望您以编程方式提供大小信息.另一方面,FlowPanels和HTMLPanels非常适合动态高度,而不是明确地设置它们的高度.
如果你想要一个滚动面板,当然你必须定义它应该有多高 - 它怎么知道什么时候滚动以及何时变大?但是,您可以将一个FlowPanel(自动扩展)放在ScrollPanel(您已设置为800px或其他)中.然后,当您向FlowPanel添加内容时,它将在ScrollPanel内部展开.然后,用户可以滚动查看FlowPanel的不同部分.
故障排除提示:
归档时间: |
|
查看次数: |
5980 次 |
最近记录: |