是什麼視圖的onTouchEvent
之間的區別:視圖的onTouchListener VS的onTouchEvent
public class MyCustomView extends View {
// THIS :
@Override
public boolean onTouchEvent(MotionEvent event) {
return super.onTouchEvent(event);
}
}
及其onTouchListener
:
MyCustomView myView = (MyCustomView) findViewById(R.id.customview);
myView.setOnTouchListener(new View.OnTouchListener() {
@Override
public void onClick(View arg0) {
// do something
}
});
或
public class MyCustomView extends View {
public MyCustomView(Context context, AttributeSet attrs) {
// THIS :
setOnTouchListener(new View.OnTouchListener() {
@Override
public void onClick(View arg0) {
// do something
}
});
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return super.onTouchEvent(event);
}
}
如果這兩個不同,
我們是否需要實現兩者?
哪一個被首先調用?
如果我有一些滾動和縮放功能,我應該在onTouchEvent
還是onTouchListener
內部實現它們?
爲「OnTouchListener」的代碼應該有一個「onTouch」的方法,而不是「onclick」事件 –