困扰已久我的问题,没想到今天终于给我找出了原因。。。这个问题就是,我做的股票应用里面,因为股票信息更新频繁,会出现部分label内容不显示出来这个的BUG,情况如图所示:

做过股票的都知道,股票应用里面,几乎所有的数据都是更新的,包括左边的K线,指标,右边的交易数据等等。。。我一直以为,是左边的图像更新,导致了整个页面重绘,导致了出现这个问题。。。但是,今天忽然想起了debug版的 adobe player 有个打开重绘区域这样的功能。。。然后立即打开来看,经过10几分钟的观察和自己的修改调试。。。发现原来问题出现在百分比布局这里。

因为,当label的内部数据发送变化时(内容长度变化),会触发label内部的measure大小的函数,因为是百分比布局,所以,label的区域重绘会导致label容器所在的区域重绘,就会导致出现这个问题。我个人的猜想是重绘的时候与更新数据时发生冲突,导致了部分内容不可见。。。

最终,通过修改,把百分比布局,改成绝对值布局,终于把这个问题解决了!或者,你也可以改成minWidth 这种,限制它的最小值,也似乎可以解决这个问题。

根据我之前做list的组件时,遇到的问题,就是resize卡死的问题,也是百分比布局导致的。。。所以,建议大家,慎用百分比布局,用也可以,注意写好minWidth 和 minHigh。。。