Flex 4 mx:启用了liveDragging的HDividedBox闪烁*仅*当鼠标悬停在组件上时

问题描述

| 我注意到,启用liveDragging时,“开箱即用” hdividedBox会出现一些严重的闪烁问题,但仅当拖动时指针位于DividedBox内容上时才如此。如果在拖动时抓住BoxDivider并将指针移离组件,则闪烁消失,组件将正确渲染。 我已经使用我的自定义组件和极其基本的hdividedBox实现(使用Group,SkinnableContainer和BoxContainer子代以及带有剪切的嵌套组)对它进行了测试。所有类型的儿童都表现出相同的行为。如果有人对此有解决方法,我将不胜感激! 非常感谢,这是显示我的问题的代码段。
 <mx:hdividedBox width=\"500\" height=\"200\" liveDragging=\"true\">
      <s:SkinnableContainer minWidth=\"0\" backgroundColor=\"green\" percentHeight=\"100\"/>
      <s:SkinnableContainer minWidth=\"0\" backgroundColor=\"blue\" percentHeight=\"100\"/>
      <s:SkinnableContainer minWidth=\"0\" backgroundColor=\"yellow\" percentHeight=\"100\"/>
      <s:SkinnableContainer minWidth=\"0\" backgroundColor=\"red\" percentHeight=\"100\"/>
 </mx:hdividedBox>
谢谢, 亚伦     

解决方法

拉开分隔线并查看该示例的表现很有趣,但我没有遇到任何闪烁的问题。可能的解释: 处理器速度-我运行的是快速处理器,其他一些处理器可能无法满足所需的重画次数。您可能还会使用比纯色更难绘制的更复杂的组件。 鼠标事件可能在您使用的组件中多次被调度/处理。 偶尔移动杠时,我确实遇到了一些分隔线“抽搐”。这很可能是由于每当分隔线仅移动一个像素时,就需要根据百分比计算每个分隔框的正确宽度所必需的多次布局计算。 编辑:运行此命令并移动分隔线以了解由于使用livedragging:而发生了多少次调整大小/重绘。
<fx:Declarations>
    <fx:int id = \"resizeCount\">0</fx:int>
</fx:Declarations>


    <mx:HDividedBox 
        width = \"500\" height = \"200\"
        liveDragging = \"true\">
        <s:SkinnableContainer 
            minWidth = \"0\"
            percentHeight = \"100\"
            backgroundColor = \"green\"

            resize = \"{trace(resizeCount);resizeCount++}\" />
        <s:SkinnableContainer 
            minWidth = \"0\"
            percentHeight = \"100\"
            backgroundColor = \"blue\"

            resize = \"{trace(resizeCount);resizeCount++}\" />
        <s:SkinnableContainer 
            minWidth = \"0\"
            percentHeight = \"100\"
            backgroundColor = \"yellow\"

            resize = \"{trace(resizeCount);resizeCount++}\" />
        <s:SkinnableContainer 
            minWidth = \"0\"
            percentHeight = \"100\"
            backgroundColor = \"red\"

            resize = \"{trace(resizeCount);resizeCount++}\" />
    </mx:HDividedBox>
它迅速进入数百...然后数千...     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...