如何更新节点的大小

如果一个空节点初始宽高被设置成 0 ,未给节点添加widget组件, 之后我动态向节点添加子节点,子节点尺寸大小随意,添加之后并未影响父节点的尺寸。节点尺寸只能通过显示的设置宽高吗?不会根据子节点情况而动态调整?

Layout组件Resize Mode设为CONTAINER

谢谢,之前没考虑加layout,就自己水平摆放一下。刚刚试了一下使用layout,但是layout组件似乎有bug, 我将layout的设置为HORIZONTAL,调用updateLayout()后,容器的宽度有了,但是高度仍然为0. 相反如果给layout设置成垂直,容器高度正确,宽度为0,使用Grid布局,也是宽度有值,组件就是这样设计的?

:sweat_smile: 设置横向或竖向肯定只能横向或者竖向增加啊。 格子布局的话需要给个宽度,达到宽度后才会进入下一行… 你可以各种调整测试下,排列方向,起始方向什么的

我意思是通过程序获取容器的宽度和高度,例如 container.width, 这个width的值需要自己手动去设置

例如你需要横向列表的话,高度固定和程序获取有区别吗?反正都不会变化。

格子列表也是,你不给个宽度,人家咋知道你什么时候需要换行?

嗯,使用横下layout的布局确实如此,格子布局设置参数比较多。 我就是想了解它内部一些原理。如果节点不挂在layout布局情况,我总是不自觉的将node父节点想象成一个塑料袋,你不放东西他就是瘪的,但是你不断往里放东西就会填充它,它的体积就会发生变化,我说的这个自动膨胀的效果是不是就需要通过设置layout来辅助实现。cocos的设计思路是怎样的?

儿子多高多大,会影响父亲嘛。父子关系就是这。 添加layout后就相当于你说的塑料袋