我使用onTouchEvent方法能夠有一個拖動&拖放事件和一個點擊事件。我測試我的Nexus 7(2012)的結果,它的工作真的很好,但在我的smarphone了一臺華碩Zenfone,這不是我不明白爲什麼,這裏是我的代碼:OnTouchEvent檢測點擊不工作我的華碩Zenfone
button.setOnTouchListener(new View.OnTouchListener() {
private float startX, startY;
private long startClickTime;
@Override
public boolean onTouch(final View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
startX = event.getX();
startY = event.getY();
startClickTime = Calendar.getInstance().getTimeInMillis();
break;
case MotionEvent.ACTION_MOVE:
if (v instanceof Button) {
Button button = ((Button) v);
if (button.getText().length() == 0) return true;
ClipData clipData = ClipData.newPlainText("", "");
DragShadowBuilder shadowBuilder = new DragShadowBuilder(v, false, scale);
v.startDrag(clipData, shadowBuilder, v, 0);
DataHolder.getInstance().setCurrentText(button.getText().toString());
button.setText("");
}
return true;
case MotionEvent.ACTION_UP:
float endX = event.getX();
float endY = event.getY();
long clickDuration = Calendar.getInstance().getTimeInMillis() - startClickTime;
if (isAClick(startX, endX, startY, endY) && clickDuration < CLICK_DURATION) {
v.performClick();
}
return true;
}
return false;
}
});
是否有人知道爲什麼我的點擊沒有被觸發?
編輯:截圖
感謝您的建議,但我已經知道這個選項。界限很棒。正如我所說,沒有問題,知道我只是有一個問題,我的智能手機,我不知道爲什麼,它的工作在模擬器和我的Nexus,所以我無法弄清楚爲什麼... – zed13
我認爲,正在覆蓋可觸摸區域 – 2D3D
我用截圖編輯了我的問題,沒有什麼... – zed13