Flex组件的一些怪问题

Flex组件的一些怪问题

Flex的大部分组件提供了measureText()方法,我们可以用此方法来计算字符串的实际需要的像素也就是字符串的宽度。此方法非常有用,因为当一个组件不可见的时候我们是不能简单的通过他的宽度属性来获取组件的宽度的,此时通过宽度属性获取的宽度为0,这样在一些需要获取不可见组件的宽度的应用中,我们可以通过计算他的孩子组件的宽度来估计该组件的宽度,例如Button组件的宽度,可以通过用measureText()方法来计算Button上的字符串的长度来估算。measureText()方法用在updateDisplayList方法中没有任何问题,但是当我们把measureText方法用在我们自定义的方法中时就会出现TypeError: Error #2007: Parameter antiAliasType must be non-null. 那如何解决呢?这个bug又是什么意思?google了一下后,发现设置this.regenerateStyleCache(false)就可以解决了,至于为什么还在进一步探索中。
在做项目的过程中还遇到另一个更奇怪的问题,如何监听hdividedbox控件中的divider的双击事件。当我们设置doubleClickEnbled='true',加上divBox.getDividerAt(0).addEventListener(MouseEvent.DOUBLE_CLICK, handleDoubleClick);
后,我们双击hdividedBox中的divider,结果没有任何反映,在google上经过苦苦的搜索后终于找到了解决办法,光设置Hdividedbox的doubleClickEnbled="true"是不够的,还要设置hdividedBox的liveDragging="true",至于为何要这样设置,可以参考这篇文章:http://www.dandev.com/2009/12/hdividedbox/。

你可能感兴趣的:(Flex,Google)