手势事件和StageWebView

时间:2011-05-31 18:56:08

标签: flex mobile air flex-spark

问候!我有一个Flex 4.5 Mobile项目正在滚动,我遇到了一个非常疯狂的障碍。我正在使用StageWebView对象来渲染网页,嵌入其余的spark布局中。我正在尝试向包含StageWebView的组件添加一个手势事件,但由于StageWebView对象不属于Flex堆栈(它继承自EventDispatcher,而不是UIComponent),因此我的所有事件似乎都被吃掉了。任何基于鼠标的事件(点击,手势等)似乎都没有注册,我不知道如何解决它。如果我使用未呈现浏览器的区域,则手势事件会起作用。如何从外部SkinnableContainer获取手势事件?

StageWebView参考:

http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/flash/media/StageWebView.html

UIComponent Wrapped StageWebView:

http://soenkerohde.com/2010/11/air-mobile-stagewebview-uicomponent/

谢谢!

2 个答案:

答案 0 :(得分:0)

我猜你可能不得不自己连接手势事件,只需在UIComponent.as快速挖掘,它就有:

[Event(name="touchInteractionStarting", type="mx.events.TouchInteractionEvent")]
[Event(name="touchInteractionStart", type="mx.events.TouchInteractionEvent")]
[Event(name="touchInteractionEnd", type="mx.events.TouchInteractionEvent")]

答案 1 :(得分:0)

这不是一个错误,据我所知,在stagewebview上的任何鼠标交互都意味着与当前加载的html的交互。你应该在那里捕捉事件并将其触发回瑞士法郎。

肯定有一些jquery插件或者有些手势来帮助实现这一目标。  虽然你不能把东西叠加在它们上面,这有点令人失望。