我是安卓初学者。我需要确定 Android Activity 的触摸持续时间。举个例子,当用户触摸并按住屏幕时,5秒后,我需要显示一个 toast (这个场景应该在用户的触摸时间段内完成。换句话说,不在操作事件中完成)。这可能吗? 我尝试过这个。
public boolean onTouchEvent(MotionEvent event) {
int eventaction = event.getAction();
switch (eventaction) {
case MotionEvent.ACTION_DOWN:
pressTime = event.getDownTime();
break;
case MotionEvent.ACTION_UP:
eventTime = event.getEventTime();
//Toast.makeText(this, (eventTime - pressTime)+"", 100).show();
if (pressTime <= 5000) {
Toast t = Toast.makeText(this, "5 sec", 5);
t.show();
}
if (pressTime > 7000) {
Toast t = Toast.makeText(this, "5 sec to 20 sec", 5);
t.show();
}
}
这在操作事件发生时起作用。我需要在感人的时间里做到这一点。
提前致谢。
最佳答案
检查您的发布时间和发布时间之间的差异:
long holdTime = eventTime - pressTime;
if (holdTime > 7000 && holdTime < 20000) {
Toast t = Toast.makeText(this, "5 sec to 20 sec", 5);
t.show();
} else if (holdTime > 5000 && holdTime <= 7000) {
Toast t = Toast.makeText(this, "5 sec", 5);
t.show();
}
关于java - 如何确定android中的触摸持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24379492/