2013-02-19 73 views
0

我想實現不可滾動的ViewPagerPeople say我應該重寫onInterceptTouchEventonTouchEvent功能:在ViewPager中僅傳遞點擊手勢

@Override 
public boolean onTouchEvent(MotionEvent event) { 
    if (this.enabled) { 
     return super.onTouchEvent(event); 
    } 

    return false; 
} 

@Override 
public boolean onInterceptTouchEvent(MotionEvent event) { 
    if (this.enabled) { 
     return super.onInterceptTouchEvent(event); 
    } 

    return false; 
} 

好吧,我現在不能刷卡。但我需要那些也沒有了的水龍頭!他們兩個都是MotionEventsaction=ACTION_DOWN,所以在這種情況下我怎麼能區分另一個並且只通過水龍頭?

P. S.到底是什麼?在iOS中,我可以通過取消選中一個選中標記來禁用滾動。

回答

0

答案是掃描是一個連續的觸摸手勢,以ACTION_DOWN開頭並以ACTION_UP結束。所以我只能通過action=ACTION_DOWN

@Override 
public boolean onTouchEvent(MotionEvent event) { 
    if (this.enabled || event.getAction() == MotionEvent.ACTION_DOWN) { 
     return super.onTouchEvent(event); 
    } 

    return false; 
}