Actionscript 3 和 Flex 4 通过触摸滚动 TileList

Posted

技术标签:

【中文标题】Actionscript 3 和 Flex 4 通过触摸滚动 TileList【英文标题】:Actionscript 3 and Flex 4 scroll TileList with touch 【发布时间】:2017-11-27 12:26:37 【问题描述】:

我遇到了 Adob​​e Flex 4 和 ActionScript 3 的问题。

我在 Flex 4 中有一个 TileList,如下所示:

<mx:TileList id="myList" change="test(event)" paddingLeft="28"  wordWrap="true"  rowHeight="475" columnWidth="350" dataProvider="floorPlans" itemRenderer="FloorplanItems" selectionColor="#ffffff" rollOverColor="#ffffff">

</mx:TileList>

我正在尝试让它通过触摸滚动,因为这是在触摸屏上进行的,我尝试了两种不同的方法来使它可以通过触摸滚动,一种将它包裹在 spark Scrollable 中,如下所示:

<s:Scroller>

    <s:Group> 

        <mx:TileList id="myList" change="test(event)" paddingLeft="28"  wordWrap="true"  rowHeight="475" columnWidth="350" dataProvider="floorPlans" itemRenderer="FloorplanItems" selectionColor="#ffffff" rollOverColor="#ffffff">

        </mx:TileList>

    </s:Group>

</s:Scroller>

但是当我在触摸屏上进行测试时,什么也没有发生。

另一种方法是添加一个 TransformGestureEvent.GESTURE_SWIPE 事件监听器,如下所示:

<mx:Script>
    <![CDATA[

            import flash.ui.Multitouch;  
            import flash.ui.MultitouchInputMode;  

            Multitouch.inputMode = MultitouchInputMode.GESTURE;

            import flash.events.Event;

            public function init(): void
            
                trace("here");
                myList.addEventListener(TransformGestureEvent.GESTURE_SWIPE, onSwipe);
            

            public function onSwipe (e:TransformGestureEvent):void

                if (e.offsetY == 1)  
                    //User swiped towards bottom
                    myList.y += 100; 
                
                if (e.offsetY == -1)  
                    //User swiped towards top
                    myList.y -= 100;
                 

            
    ]]>
</mx:Script>

但同样,这无济于事....我的想法不多了...如何使我的 TileList 可通过触摸滚动?

【问题讨论】:

你能在在线模拟器中添加这个并提供链接吗? 在线模拟器? 像 jsfiddle、phpfiddle、sqlfiddle 之类的工作 sn-p 您是否尝试将 minHeight 设置为 Scroller? @SagarV 我从未听说过 asfiddle。我不认为有一个动作脚本存在。 【参考方案1】:

你应该使用interactionMode属性:

<mx:TileList interactionMode="touch"/>

可能的值是“触摸”或“鼠标”。 由于 Spark 组件较新且专为移动性能而设计,因此建议使用 &lt;s:List/&gt; 而不是 &lt;mx:TileList /&gt;

【讨论】:

以上是关于Actionscript 3 和 Flex 4 通过触摸滚动 TileList的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Actionscript 3、Flex 4 SDK 和 FlashDevelop 从 .fla 文件访问数据?

ActionScript 3 使用AS3和Flex 4.5重新启动Air Application

ActionScript 3 在FlashDevelop中嵌入truetype字体(Flex 4+)

ActionScript 3 在Flex 4中增加Spark TextArea上的htmlText

ActionScript 3 Flash,Flex和Html传递参数

GET请求Flex / Actionscript 3