我被Adobe Flex4和ActionScript 3的问题卡住了。
我在Flex4中有一个TileList,如下所示:
<mx:TileList id="myList" change="test(event)" paddingLeft="28" width="1080" wordWrap="true" height="1420" 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" width="1080" wordWrap="true" height="1420" 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>但是再说一次,这没有任何作用……我的ideas...how快用完了,我可以让我的TileList可以通过触摸滚动吗?
发布于 2017-08-28 21:04:13
您应该使用interactionMode属性:
<mx:TileList interactionMode="touch"/>可能的值是“触摸”或“鼠标”。由于Spark组件较新,并且是专门为移动性能设计的,因此建议使用<s:List/>而不是<mx:TileList />。
https://stackoverflow.com/questions/44729645
复制相似问题