0

在默认实现中,当从列表中/在列表中拖动项目时,它在拖动期间显示为选中状态(并且在状态下,单独的项目渲染器dragging显示为拖动图像),因此:

<s:ItemRenderer>
    <s:Label text="{data}" color.selected="0xFF0000" color.dragging="0x00FF00" />
</s:ItemRenderer>

呈现为:

ListItemRenderer 处于正常、选中和拖动状态

是否有一种直接的方法可以在拖动期间将拖动源的状态(红色、选中、“条形”)更改为“选中”以外的状态?

理想情况下,我将添加color.dragSource="0x0000FF"到上面的项目渲染器代码中,并且“栏”在选中时会显示为红色,但一旦开始拖动,则会显示为蓝色。拖动完成后,它将恢复为红色(或者,如果不再选择,则恢复为黑色)。

4

1 回答 1

2

如果您在拖动开始时执行了一个 eventListener 将列表中的选定项目设置为 -1 怎么办?-1 表示不应选择任何内容。

编辑:添加以下代码以支持:

<s:List id="myList" dragStart="startDrag(event)"/>

private var dragIndex:int;

private function startDrag(e:Event):void
{
    dragIndex = myList.selectedIndex;
    myList.selectedIndex = -1;
}

private function stopDrag(e:Event):void
{
    myList.selectedIndex = dragIndex;
}
于 2012-06-05T20:13:59.340 回答