当在默认实现中从列表中拖动项目时,它在拖动过程中显示为已选中(并且dragging
状态下的单独项目渲染器显示为拖动图像),这样:
<s:ItemRenderer>
<s:Label text="{data}" color.selected="0xFF0000" color.dragging="0x00FF00" />
</s:ItemRenderer>
呈现为:
是否有一种直接的方法可以在拖动期间将拖动源(红色,选定的“条形”)的状态更改为“已选择”以外的其他内容?
在理想情况下,我会将color.dragSource="0x0000FF"
添加到上面的项目渲染器代码中,“Bar”会在选中时显示为红色,但一旦拖动开始就会显示为蓝色。拖动完成后,它将恢复为红色(或者,如果不再选择,则为黑色)。
答案 0 :(得分: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;
}