我是android的初学者。我需要确定android活动的触摸持续时间。例如,当用户触摸并按住屏幕时,5秒钟后,我需要显示一个祝酒词(这个场景应该在用户的触摸时间段内完成。换句话说就是不在动作up事件中)。这可能吗? 我试过这个。
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();
}
}
这在动作up事件时有效。我需要在触摸时间段内完成。
先谢谢。
答案 0 :(得分:1)
检查您的印刷时间和发布时间之间的差异:
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();
}