2013-02-26 34 views
2

我想通过用手指拖动它们在Flex移动应用程序中重新排列List中的项目。在火花列表中拖动列表在Flex移动应用程序中不起作用?附带测试用例和屏幕截图

作为第一步,我抄从Adobe文档Using drag-and-drop with list-based controls的例子 - 但是,而他们的示例工作细如Web应用程序,什么也没有发生在下面的移动应用程序:

screenshot

为什么没有工作(就像是在移动主题中的一些皮肤缺失?)

有没有办法让它工作(至少重新排序移动列表中的项目)?

下面是一个简单的测试代码我试过 - 只是把它变成一个新的空白(即没有导航栏。)Flex手机项目在Flash Builder:

<?xml version="1.0" encoding="utf-8"?> 
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
       xmlns:s="library://ns.adobe.com/flex/spark" 
       applicationDPI="160" 
       creationComplete="initApp()"> 

    <s:layout> 
     <s:VerticalLayout/> 
    </s:layout> 

    <fx:Script> 
     <![CDATA[ 
      import mx.collections.ArrayCollection; 

      private function initApp():void { 
       srclist.dataProvider = 
        new ArrayCollection(['Reading', 'Television', 'Movies']); 
       destlist.dataProvider = new ArrayCollection([]); 
      } 
     ]]> 
    </fx:Script> 

    <s:HGroup> 
     <s:VGroup> 
      <s:Label text="Available Activities"/> 
      <s:List id="srclist" 
        allowMultipleSelection="true" 
        dragEnabled="true" 
        dragMoveEnabled="true"/> 
     </s:VGroup> 

     <s:VGroup> 
      <s:Label text="Activities I Like"/> 
      <s:List id="destlist" 
        dropEnabled="true"/> 
     </s:VGroup> 
    </s:HGroup> 

    <s:Button id="b1" 
       label="Reset" 
       click="initApp();"/> 

</s:Application> 
+1

这不是在移动Flex的列表来实现。我怀疑这是有记载的地方;但我不知道在哪里。你将不得不推出自己的下拉和拖放工作与移动列表。 – JeffryHouser 2013-02-26 16:11:21

回答

1

我发现并试图我自己是一个超级解决方案this page

只需从他的示例中复制类并将自定义itemRenderer添加到源列表。

 <s:List id="srclist" 
       allowMultipleSelection="true" 
       dragEnabled="true" 
       dragMoveEnabled="true"> 
      <s:itemRenderer> 
       <fx:Component> 
        <local:DraggableIconItemRenderer decorator="{DragThumb}" /> 
       </fx:Component> 
      </s:itemRenderer> 
     </s:List> 

尊重作者!

下面是结果:

enter image description here

相关问题