如何攔截Android中的觸摸事件,確保現有的觸摸工作流程不受影響。基本上我想添加一些觸摸可視化器以便知道用戶在屏幕上觸摸的位置,從而確保如果用戶試圖滾動桌面視圖,當用戶拖動他的手指時觸摸可視化器被顯示,而且桌面視圖也容易地滾動。Android中的攔截觸摸事件
在iOS中,有一個類UIWindow的sendEvent方法正是這樣做的。不確定Android是否有類似的東西。
感謝
如何攔截Android中的觸摸事件,確保現有的觸摸工作流程不受影響。基本上我想添加一些觸摸可視化器以便知道用戶在屏幕上觸摸的位置,從而確保如果用戶試圖滾動桌面視圖,當用戶拖動他的手指時觸摸可視化器被顯示,而且桌面視圖也容易地滾動。Android中的攔截觸摸事件
在iOS中,有一個類UIWindow的sendEvent方法正是這樣做的。不確定Android是否有類似的東西。
感謝
覆蓋Activity.dispatchTouchEvent()
並在那裏做觸摸處理。總是返回super.dispatchTouchEvent()
以確保在邏輯執行後以正常方式處理它。
@Override
public boolean dispatchTouchEvent(MotionEvent event) {
/* your code here */
return super.dispatchTouchEvent(event);
}
非常感謝,可能這是我一直在尋找的方法。非常類似於iOS的sendEvent方法。 – 2014-09-30 20:08:58
http://developer.android.com/reference/android/view/View.OnTouchListener.html在這個環節有alook。這非常簡單。谷歌它有很多例子。
yourview.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return false;
}
});
在Android中,觸摸事件從底層向上流動。除非您從觸摸事件返回true,否則觸摸事件不會消耗。如果您希望將其消耗掉,請從觸摸事件返回true。這樣你就可以在任務上創建多個觸摸事件。 – 2014-09-30 20:04:22