我對LibGDX API是一種新手,我試圖在表格(和表格內的表格)內組織標籤和ImageButtons。當我運行該應用程序時,ImageButtons不會被拖到屏幕上。LibGDX ScrollPane不繪製ImageButton
我到處搜索,無法找到答案,所以我非常感謝您的幫助。
編輯:這可能是因爲我在表內使用表,但我沒有發現任何關於嵌套表或類似的東西說實話。
我所說的方法使保持標籤的文字變化,看起來像這樣:
public void drawTable(){
final Table scrollTable = new Table();
scrollTable.addActor(canbtn);
scrollTable.row();
//other buttons
Label.LabelStyle style = new Label.LabelStyle(font, Color.WHITE);
Label.LabelStyle style2 = new Label.LabelStyle(font2, Color.WHITE);
CustomLabel amtLabel = new CustomLabel("" + (int)(game.tot.getSum()), style);
CustomLabel mizcoins = new CustomLabel("Mizcoins", style2);
CustomLabel mpsCount = new CustomLabel(game.totMPS + " MPS", style2);
PerSec can = game.boosts.get("Can").getPerSec();
Table t = new Table();
t.add(drawer(can, canbtn));
t.row();
scroller = new ScrollPane(t);
table = new Table(); //the container table
table.setFillParent(true);
table.add(amtLabel).padTop(50);
table.row();
table.add(mizcoins);
table.row();
table.add(mpsCount);
table.row();
table.add(scroller).fill().expand();//.space(350).padBottom(10);
}
和抽屜()函數:
public Table drawer(PerSec perSec, ImageButton imgbtn){
Label.LabelStyle style = new Label.LabelStyle(font2, Color.WHITE);
Label.LabelStyle style2 = new Label.LabelStyle(font2, Color.WHITE);
Label.LabelStyle style3 = new Label.LabelStyle(font2, Color.RED);
CustomLabel nameLabel = new CustomLabel(perSec.getType(), style);
CustomLabel priceLabel = new CustomLabel("Price: " + perSec.getPrice(), style2);
CustomLabel addsLabel = new CustomLabel("Adds: " + perSec.getDefAddPerSec(), style2);
CustomLabel youHaveLabel = new CustomLabel("You Have: " + perSec.getAmt(), style3);
Table mainTable = new Table();
Table smallTable = new Table();
smallTable.add(priceLabel);
smallTable.row();
smallTable.add(youHaveLabel);
mainTable.add(nameLabel);
mainTable.add(imgbtn);
mainTable.row();
mainTable.add(smallTable);
mainTable.add(addsLabel);
return mainTable;
}
有幾個彈出的ngs是:您首先在canbtn上執行「addActor」,然後在「drawer()」中將其添加到其他內容中。這否決了以前的添加調用,因爲演員只能有1個父項。另外add和addActor的工作方式也不一樣。 addActor將其僅作爲子項。而add()則會創建一個表格單元格,並將其添加到其中。使其使用表格的對齊功能。問題可能是:重寫添加,將其添加到錯誤的表。或者將其添加爲0的大小。 –
我無法完全理解你要做什麼,因爲我認爲我堅持了我的想法。我會粘貼一個鏈接,向您展示我的設計目標:http://imgur.com/a/tpVnZ –