leafer-ui
leafer-ui copied to clipboard
flow布局中如果设置了autoWidth或者autoHeight如何获取真实宽度
flow布局使用了autoWidth,发现width和boxBounds都获取的宽度为120,真实宽度为960
正常通过width和boxBounds.width可以获取到真实宽度,可能是有地方主动设置了一次width造成的,可以强制设置flow.width = undefined, 再获取
正常通过width和boxBounds.width可以获取到真实宽度,可能是有地方主动设置了一次width造成的,可以强制设置flow.width = undefined, 再获取
结构是这样的
<Frame id="root" class="back" root>
<Box flow="x">
<Box width="960" height="1080" flow="y" flowAlign="center" padding="10">
<Text autoWidth="1">玩家信息</Text>
<Box class="head_panel all_bg" flow="x" flowAlign="center" autoWidth="1" padding="15" gap="10">
<Rect class="head" fill="$js:({type:'image',url:'./assets/panel/img/head.png'})" />
<Box flow="y" autoHeight="1" gap="-10" flowAlign="center">
<Text fontSize="35">nick</Text>
<Text fontSize="35">#TAGTAG</Text>
</Box>
<Box flow="y" flowAlign="center">
<Text fontSize="25" textAlign="center">测试</Text>
<Box flow="x" flowAlign="center">
<Image url="./assets/panel/duo.png" width="50" height="50" />
<Text fontSize="30">otto</Text>
</Box>
</Box>
</Box>
</Box>
</Box>
</Frame>
正常通过width和boxBounds.width可以获取到真实宽度,可能是有地方主动设置了一次width造成的,可以强制设置flow.width = undefined, 再获取
不行,今天试了一下,如果把flow的width设置null的话获取的话只能是内容的宽度,但是我这个给三等分了,也就是三个元素都设置了autoWidth,但是获取的width只有80,我的父元素的width设置了800