模拟长按Touch事件 [英] Simulate Long press by Touch events
本文介绍了模拟长按Touch事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何通过触摸事件模拟长按?或者我们如何计算屏幕触摸的时间,全部在ACTION_DOWN状态?
How can we simulate long press by touch event? or how can we calculate the time that screen is touched, all in ACTION_DOWN state?
推荐答案
我已经实现了一个触摸屏长时间点击最后,thx全部:
I have implemented a Touch screen long click finally , thx all:
textView.setOnTouchListener(new View.OnTouchListener() {
private static final int MIN_CLICK_DURATION = 1000;
private long startClickTime;
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_UP:
longClickActive = false;
break;
case MotionEvent.ACTION_DOWN:
if (longClickActive == false) {
longClickActive = true;
startClickTime = Calendar.getInstance().getTimeInMillis();
}
break;
case MotionEvent.ACTION_MOVE:
if (longClickActive == true) {
long clickDuration = Calendar.getInstance().getTimeInMillis() - startClickTime;
if (clickDuration >= MIN_CLICK_DURATION) {
Toast.makeText(MainActivity.this, "LONG PRESSED!",Toast.LENGTH_SHORT).show();
longClickActive = false;
}
}
break;
}
return true;
}
});
其中 private boolean longClickActive = false;
是一个类变量。
这篇关于模拟长按Touch事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文