我正在使用RowLayout作为容器。布局具有水平方向。我没有指定容器的任何高度。我希望它能根据孩子的身高得到高度。但GXT根本没有显示容器的子项,除非我明确指定容器的高度。
使用带水平方向的RowLayout时,有没有办法让容器根据其子项获取高度而不指定高度?
public class RowLayoutNoHeight implements EntryPoint {
public void onModuleLoad() {
ContentPanel cp = new ContentPanel();
cp.setSize(300, 400);
final LayoutContainer innerPanel = new LayoutContainer();
innerPanel.setBorders(true);
innerPanel.setLayout(new RowLayout(Orientation.HORIZONTAL));
Text firstText = new Text("First text");
Text secondText = new Text("Second text");
// Here, innerPanel will not have any height. That is, I don't see the
// text components in the UI
innerPanel.add(firstText, new RowData(1, -1));
innerPanel.add(secondText, new RowData(1, -1));
Viewport viewPort = new Viewport();
cp.add(innerPanel);
viewPort.add(cp);
RootPanel.get().add(viewPort);
}
}
GWT版本 - 2.4 GXT版本 - 2.2.5 Browser-IE 8和Firefox 7.0.1
谢谢, 内甚
答案 0 :(得分:0)
你已经给你的innerPanel一个布局,它只会影响该面板中的小部件,只需添加
cp.setLayout(new RowLayout(Orientation.HORIZONTAL));
宣布主面板后。
答案 1 :(得分:0)
如果你可以为你的容器做一个布局(true),你会发现你的问题立即消失了!