java - 如何确定android中的触摸持续时间

标签 java android

我是安卓初学者。我需要确定 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/

相关文章:

android - 如何在 Android 的应用程序安装中创建文件夹(和文件)?

Android:在自定义 WebView 中从 onLongPress 打开 ContextMenu

android - 在 google map v2 中为标记的旋转设置动画

Java XML : how to output the namespace of child elements?

Java 帮助使用模式操作 anchor

java - 将 Jersey 和 Apache Tomcat 用于 Web Api 时出现 404 错误

java - OpenCV Java 凸性缺陷(计算机视觉)

java - 特定时区日历中的日期 getTime()

java - 如何双向绑定(bind)到设置为 TableView 的所选项目属性的对象的属性?

android - 如何填充 ListAdapter