2014-10-07 58 views
1

滾動我很新的libGDX並試圖實現下面使用table layoutlibx中的GDX具有圓形覆蓋

容器一個表在圖中所示的佈局[綠色]由表頭的 [藍色]和ScrollPane 機身 [黑色項目]。身體也是各種各樣的行。

我想要正文部分滾動「下」標頭。在開始時,從主體的所有項目應該可以看到一個適當的填充。

到目前爲止的代碼:

ScrollPane body = new ScrollPane(bodyTable); 
header.add(headerBar).expandX().fillX();  
container.add(header).top().expandX().fillX().row(); 
container.add(body).fill().expand(); 

[注意,所需的紋理不包括在所述文檔片斷。

它可以正常滾動但就像是一個橫向切身體,而我想有像一個圓的效果。奇蹟是可以使用表嗎?有沒有任何示例/建議可以將我指向正確的方向?

enter image description here

+0

我認爲你需要兩個兄弟表,它們都填充父項,一個用於標題,一個用於正文。將足夠的填充放在身體桌面的頂部,以便在標題下可以看到第一行。 – Tenfour04 2014-10-07 17:26:15

回答

0

有一點我設法有一個工作版本。

在Scene2d中有Stack widget這是設計將一個項目堆疊在另一個上。

層次結構的概要是:

Stack container = new Stack; 
// the container is using all the available space 
container.setFillParent(true); 
container.add(body); 
container.add(head); 
stage.addActor(container); 

棘手的部分是定義既內部的元件的正確位置。

所以對於我在執行我有類似:

Table header = new Table(); 
Table header_container = new Table(skin); 

// assign a background behind the header contents 
Drawable tableBackground = skin.getDrawable("top_bg"); 

//some position tweaks to resize the background to the wanted height 
tableBackground.setMinHeight(10); 
tableBackground.setBottomHeight(30); 
tableBackground.setTopHeight(10); 
header_container.setBackground(tableBackground); 

// headerBar is another table that contains the buttons that are in the header 
header.add(headerBar).expandX().fillX(); 
header_container.add(header).expandX().fillX(); 
head.addActor(header_container); 

是包含表一ScollPane。內部表有一個Top Padding,因此它在開始時是完全可見的。當滾動它在標題部分下並隱藏一點。

它正在工作,但覺得有太多的嵌套涉及,如果我發現一個更清潔的解決方案將更新上面的代碼。

0

我想幫助,但我的腹股溝很難理解我很好,你想讓它在例如頭部保持在原位,而其他移動按鈕,例如表。

http://i.stack.imgur.com/C9cwR.png

1-附加窗口表和table.row();

2-將其他窗口添加到表中並添加滾動條。

不會,如果這就是你的意思。

+0

@dawez http://i.stack.imgur.com/C9cwR.png – 2014-10-07 17:44:30