当设置Layout的ResizeMode为Container时,容器的大小不受子组件缩放的控制,好像只考虑了子组件scale为1的情况,space在缩放不为1的情况下也不对
1赞
你可以设置子节点的size来达到同样效果,而且layout的大小也能受影响
比如你想node.scale = 3;
可以通过node.width *= 3;node.height *=3达到同样效果
当然我也不知道layout受scale大小影响是好还是不好,现在的layout的resizeMode是根据子节点的逻辑大小来的
1赞
关键是子节点还有子节点,单纯设置子节点的size并不会影响子节点的子节点的坐标
这就只有问问官方大神了
1赞
呼叫官方。。。。
还有,当type设为Grid时,为什么不能设置每行子节点的最大个数,因为我想ResizeMode为Container
目前Layout没有支持缩放,出于两个原因:
- UI元素一般可以不用缩放来规定大小,所有UI和渲染元素都可以支持任意size
- scale可以用来做UI动态效果,比如按下按钮以后缩放,或者UI元素的淡入淡出效果(使用scale动画),如果这时scale参与了排版计算,在动态效果播放时排版就乱了
- 计算scale会需要消耗更多性能
一个UI元素设计出来以后是否有必要适配多个不同的大小?如果不需要的话,为什么父节点和子节点的尺寸不能在设计过程中就确定好,而需要用到scale来临时更改呢
1赞
![]()
那这个问题呢?
那如果需要的话呢
type为Grid时没有办法让子节点都居中显示,比如根据屏幕的宽度自动处理是显示一行5个还是6、7个,只有左边距和间隔设置有效,右边距设置无效,如果能只让左边距和右边距有效,间距自动计算,那就可以实现居中显示Grid了。