2012-07-30 75 views
3

我有一个ScrollPanel内的FormPanel。 ScrollPanel位于DockLayoutPanel的中心部分。我想垂直和水平居中ScrollPanel中的FormPanel。我尝试了几种方法来做到这一点,但没有成功。GWT - 如何居中ScrollPanel内的内容

我已经厌倦了将一个verticalPanel/horizo​​ntalPanel放在滚动面板中,并用它来包装formPanel。我将滚动面板和水平面板都设置为100%的宽度和高度。但是,滚动面板会根据DockLayoutPanel中心部分的大小自动调整大小,而水平面板的大小始终等于其子面板的大小。所以我不能居中在horizo​​ntalPanel里面的formpanel,因为它们的高度和宽度是相同的。我尝试使horizo​​ntalPanel的大小始终与scrollPanel相同,但我不知道如何执行此操作。将horizo​​ntalPanel的大小设置为100%不起作用。

所以我的问题是这样的:

1.How你在scrollPanel中心的东西。如果你知道如何实现这一点,我不介意使用CSS方法。

2.在我上面的例子中,是否可以使horizo​​ntalPanel始终与其父容器 - 滚动面板的大小相同。如果可能的话,我的第一个问题就解决了。

enter image description here

+1

我不明白你为什么希望将面板置于滚动面板内 - 因为滚动不起作用。不妨使用对话框/弹出式面板。 dialogbox.center()。 – 2012-07-31 09:56:22

+0

我想在一个滚动面板中居中放置一个面板,因为我需要将一些东西放在DockLayoutPanel的中心部分。滚动面板位于DockLayoutPanel的中心。 – Joey 2012-08-01 05:42:01

回答

0

我不得不中心的水平滚动面板内部的图像。有时候我只有一个图像,有时候会有一个图像列表被居中显示。我已经修复了GWT图像对象的大小和滚动面板的宽度。

我计算了滚动位置,以便居中所有的项目,我用设置滚动位置(位置可以是-ve或+ ve值)。

当用户滚动项目时,我会尊重用户的决定,并相应地滚动它们。但是,如果用户滚动到左侧的最右侧,我将确保重新调整滚动位置以回滚到边界并且不超过边界。

当页面通过滚动面板刷新中心项目时自动。

总之,您需要以编程方式居中放置物品,并且默认情况下,滚动面板会将物品放置在一侧(左侧和顶部)。