簡體   English   中英

在Flex Mobile應用程序中區分滾動和滑動

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM