Flex禁用draginitiator?

时间:2011-05-19 14:46:46

标签: flex drag

我正在尝试禁用draginitiator,这是拖动某些东西时的半透明对象。 有谁知道怎么做?

编辑代码

<s:List id="dg_ads" top="75" bottom="0" width="100%" borderVisible="false" 
    dragEnabled="true" dropEnabled="true" dragMoveEnabled="true"
    dragComplete="dg_ads_dragCompleteHandler(event)"
    doubleClickEnabled="true" doubleClick="dg_ads_doubleClickHandler(event)"
    contentBackgroundColor="#FFFFFF">
        <s:layout>
            <s:TileLayout useVirtualLayout="false" clipAndEnableScrolling="false"
                          horizontalGap="5" verticalGap="5" />
        </s:layout>
</s:List>

2 个答案:

答案 0 :(得分:1)

创建一个自定义列表类,用于扩展spark List并覆盖createDragIndicator()方法。这是DragManager用于创建dragProxy的方法(拖动操作正在进行时将看到的图像)。

override public function createDragIndicator():IFlexDisplayObject
        { 
            var dragIndicator:UIComponent;
            dragIndicator = new UIComponent();
            dragIndicator.width = 0;
            dragIndicator.height = 0;
            return dragIndicator;
        }

在您的应用程序中使用自定义列表而不是spark List

答案 1 :(得分:0)

来自this question

尝试:

event.dragInitiator.visible = false;

或创建您自己的DragProxy class版本并删除您不想要的部分。