0
このコードでは、layoutを次のようにしようとしています(幅と高さはデバッグ用です。理想的には、両方のテーブルの幅が50%です)。スーパークラスは、テーブルが自分の行に移動して、代わりに最後のテーブルが左にラベルをプッシュしていないよう何らかの理由で、thisになりTable
)LibGDX 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)
と出力で行うことができます
あなたが説明するようにあなたのテーブルには、2x2のグリッドであるので、あなたの最初の行(ラベル)が必要になります2つの列にまたがることができます(最下行 - 2つのテーブル、各自のセルにあります)。 add(Label( "Player name"、UI_SKIN))。colspan(2)を実行し、center()とexpandX()で再生して、必要な場所にラベルの位置を取得します。 –