修面板布局:根表格与按钮子表 top(),按钮行/状态行不再 fill(否则控件被拉伸挤到停靠框下方)

This commit is contained in:
tianmo committed 2026-10-16 15:49:29 +08:00
1 parent 1f8a3b4dae
commit f4cf713ded
1 file changed
+5 -2
+5 -2
View File
@@ -60,6 +60,7 @@ public final class ObjectPanel {
Object root = tableClass.getConstructor().newInstance();
Object rows = tableClass.getConstructor().newInstance();
call(rows, Obf.TABLE_TOP, new Class<?>[0], tableClass);
state.listTable = tableClass.getConstructor().newInstance();
Object scroll = scrollClass.getConstructor(actorClass, skinClass).newInstance(state.listTable, skin);
state.listScroll = scroll;
@@ -69,6 +70,8 @@ public final class ObjectPanel {
// 让面板铺满停靠框(WidgetGroup.setFillParent)。
call(root, Obf.TABLE_SET_FILL_PARENT, new Class<?>[] {boolean.class}, void.class, Boolean.TRUE);
// 内容整体靠上:不设的话控件会在停靠框里垂直居中/被挤到下面
call(root, Obf.TABLE_TOP, new Class<?>[0], tableClass);
Object refresh = button(loader, skin, "Refresh");
Object newBone = button(loader, skin, "New Bone");
@@ -104,13 +107,13 @@ public final class ObjectPanel {
// 第 1 行:按钮区;第 2 行:对象列表(撑满);第 3 行:状态行。
cell = call(root, Obf.TABLE_ADD, new Class<?>[] {actorClass}, cellClass, rows);
layoutCell(cell, Obf.CELL_LEFT, Obf.CELL_FILL);
layoutCell(cell, Obf.CELL_LEFT);
call(root, Obf.TABLE_ROW, new Class<?>[0], cellClass);
cell = call(root, Obf.TABLE_ADD, new Class<?>[] {actorClass}, cellClass, scroll);
layoutCell(cell, Obf.CELL_EXPAND, Obf.CELL_FILL, Obf.CELL_TOP);
call(root, Obf.TABLE_ROW, new Class<?>[0], cellClass);
cell = call(root, Obf.TABLE_ADD, new Class<?>[] {actorClass}, cellClass, state.status);
layoutCell(cell, Obf.CELL_LEFT, Obf.CELL_FILL);
layoutCell(cell, Obf.CELL_LEFT);
wire(loader, refresh, new Runnable() {
@Override