[英]Differentiate between scroll and swipe in Flex Mobile Application
是否可以在Flex Mobile中區分“水平滑動”手勢和“水平滾動”。 我有一個列表(水平布局),沒有附加任何偵聽器,還有一個視圖,上面裝有GestureSwipe偵聽器,當我嘗試滾動列表時,顯然會觸發滑動手勢。 我試圖將一個手勢事件偵聽器添加到列表中,並使用event.stopPropagation()調用一個函數,該函數不會停止在視圖中觸發手勢,但是由於列表占用了85%的屏幕空間,因此使視圖事件觸發非常困難,這使我想要執行的操作失敗了。
有沒有辦法區分速度,持續時間或其他兩個動作?
使用FlashDevelop和Flex SDK v4.14.1,Air 17.0(針對Android構建)
謝謝
好的,所以我無法找出如何區分這兩個事件,但是似乎有一種解決方法,不是一個好的方法,但是我想它可以工作,但是我發現在列表后面添加事件監聽器存在問題滾動到最遠點,您將需要執行另一次滾動/滑動操作以使視圖過渡,這對用戶來說不是一個很好的體驗。
list.scroller.viewport.addEventListener(PropertyChangeEvent.PROPERTY_CHANGE,propertyChangeHandler );
protected function propertyChangeHandler(event:PropertyChangeEvent):void
{
if (event.property == "horizontalScrollPosition" )
{
if (event.newValue == (event.currentTarget.measuredWidth - event.currentTarget.width )) {
navigator.pushView(view.RightView);
}
if(event.newValue == 0){
navigator.pushView(view.LeftView);
}
}
}
有人對這種方法有什么想法嗎?
我從未開發過Flex Mobile,但是如果您可以重寫interceptOnTouchEvent
來獲取事件,則可以區分“水平滑動”手勢和“水平滾動”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.