小智 23
long eventDuration = event.getEventTime() - event.getDownTime();
Run Code Online (Sandbox Code Playgroud)
Wro*_*lai 14
您可以尝试混合MotionEvent和Runnable/ Handler来实现这一目标.
示例代码:
private final Handler handler = new Handler();
private final Runnable runnable = new Runnable() {
public void run() {
checkGlobalVariable();
}
};
// Other init stuff etc...
@Override
public void onTouchEvent(MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_DOWN) {
// Execute your Runnable after 5000 milliseconds = 5 seconds.
handler.postDelayed(runnable, 5000);
mBooleanIsPressed = true;
}
if(event.getAction() == MotionEvent.ACTION_UP) {
if(mBooleanIsPressed) {
mBooleanIsPressed = false;
handler.removeCallbacks(runnable);
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在你只需要检查,如果mBooleanIsPressed是true在checkGlobalVariable()函数.
我来到了,当我在写这一个想法是使用简单的时间戳(例如System.currentTimeMillis()),以确定之间的持续时间MotionEvent.ACTION_DOWN和MotionEvent.ACTION_UP.
在这种情况下,您不能使用unix时间戳.Android提供自己的时间测量.
long eventDuration =
android.os.SystemClock.elapsedRealtime()
- event.getDownTime();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13523 次 |
| 最近记录: |