2012-07-30 51 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值)。

當用戶滾動項目時,我會尊重用戶的決定,並相應地滾動它們。但是,如果用戶滾動到左側的最右側,我將確保重新調整滾動位置以回滾到邊界並且不超過邊界。

當頁面通過滾動面板刷新中心項目時自動。

總之,您需要以編程方式居中放置物品,並且默認情況下,滾動面板會將物品放置在一側(左側和頂部)。