2017-06-23 16 views
0

このコードでは、layoutを次のようにしようとしています(幅と高さはデバッグ用です。理想的には、両方のテーブルの幅が50%です)。スーパークラスは、テーブルが自分の行に移動して、代わりに最後のテーブルが左にラベルをプッシュしていないよう何らかの理由で、thisになりTableLibGDX Scene2d UI:テーブルレイアウト内のテーブル

left().top() 
add(Label("Player name", UI_SKIN)).center().expandX() 
row() 
add(Table()).width(50f).height(50f) 
add(Table()).width(200f).height(50f) 
setDebug(true, true) 

です。テーブルを1つだけ追加すると、十分に機能します(十分な担当者がいないため、別のスクリーンショットを追加できません)。

ご協力いただきまして誠にありがとうございます。私は現在、アイデアが不足しています。あなたはこのよう

stage= Stage() 
Gdx.input.setInputProcessor(stage) 

var skin= Skin(Gdx.files.internal("skin/glassy-ui.json")) 

var table= Table() 
table.defaults().pad(10F) 
table.setFillParent(true) 

var label=Label("PLAYER NAME",skin) 
label.setAlignment(Align.center); 

var first_table=Table() 
first_table.setDebug(true) 
first_table.add(Label("FIRST TABLE",skin)) 

val second_table=Table() 
second_table.add(Label("SECOND TABLE",skin)) 

table.add(label).colspan(2).fillX() 
table.row(); 
table.add(first_table).expand() 
table.add(second_table).expand() 

stage.addActor(table) 
stage.setDebugAll(true) 

と出力で行うことができます

+0

あなたが説明するようにあなたのテーブルには、2x2のグリッドであるので、あなたの最初の行(ラベル)が必要になります2つの列にまたがることができます(最下行 - 2つのテーブル、各自のセルにあります)。 add(Label( "Player name"、UI_SKIN))。colspan(2)を実行し、center()とexpandX()で再生して、必要な場所にラベルの位置を取得します。 –

答えて

0

は次のとおりです。

enter image description here

関連する問題