撤掉列表表格外层的包装容器(它让编辑器布局抛 RuntimeException: Actor: ScrollPane,面板因此失去响应)
This commit is contained in:
1 parent
f696c15671
commit
e57d31dfe6
1 file changed
+2
-9
@@ -91,15 +91,8 @@ public final class ObjectPanel {
|
|||||||
// 列表内容靠左上:ScrollPane 里控件比视口小时默认会居中,看起来就像"列表跑到中间/下面"
|
// 列表内容靠左上:ScrollPane 里控件比视口小时默认会居中,看起来就像"列表跑到中间/下面"
|
||||||
call(state.listTable, Obf.TABLE_TOP, new Class<?>[0], tableClass);
|
call(state.listTable, Obf.TABLE_TOP, new Class<?>[0], tableClass);
|
||||||
call(state.listTable, Obf.TABLE_LEFT, new Class<?>[0], tableClass);
|
call(state.listTable, Obf.TABLE_LEFT, new Class<?>[0], tableClass);
|
||||||
// 给列表表格包一层容器:容器填满 ScrollPane 视口(=红框),列表表格再 expand/fill 填满容器,
|
// (曾试过"包一层容器让表格铺满视口",会让编辑器布局抛 RuntimeException: Actor: ScrollPane,已撤掉)
|
||||||
// 这样"绿色(表格)"就跟"红色(视口)"一样大。
|
Object scroll = scrollClass.getConstructor(actorClass, skinClass).newInstance(state.listTable, skin);
|
||||||
Object wrapper = tableClass.getConstructor().newInstance();
|
|
||||||
call(wrapper, Obf.TABLE_SET_FILL_PARENT, new Class<?>[] {boolean.class}, void.class,
|
|
||||||
Boolean.TRUE);
|
|
||||||
Object wrapperCell = call(wrapper, Obf.TABLE_ADD, new Class<?>[] {actorClass}, cellClass,
|
|
||||||
state.listTable);
|
|
||||||
layoutCell(wrapperCell, Obf.CELL_TOP, Obf.CELL_FILL_X, Obf.CELL_FILL_Y, Obf.CELL_EXPAND);
|
|
||||||
Object scroll = scrollClass.getConstructor(actorClass, skinClass).newInstance(wrapper, skin);
|
|
||||||
state.listScroll = scroll;
|
state.listScroll = scroll;
|
||||||
makeTouchable(scroll);
|
makeTouchable(scroll);
|
||||||
attachEventProbe(scroll, "listScroll");
|
attachEventProbe(scroll, "listScroll");
|
||||||
|
|||||||
Reference in new issue
Block a user