- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在开发一个简单的 android 应用程序,我的要求是,
“在屏幕上发生一些移动事件(MotionEvent.ACTION_MOVE 为真)后,如果用户在某处停止移动几秒钟而没有将手指从屏幕上移开,则需要执行一些操作。”
*我了解到 LongPress 是在触发向下事件 (MotionEvent.ACTION_DOWN) 后用户未进行任何移动时触发的。*
那么有没有办法在屏幕左右移动后触发长按呢?
或者我应该为相同的功能创建自己的监听器??
感谢任何帮助。
谢谢。
最佳答案
想法是每次在屏幕上移动手指时取消
计时器(MotionEvent.ACTION_MOVE
)。当你在一段时间后停止移动时,比如 3 秒后,定时器代码将被执行,你可以在其中执行长按任务。如果您停止移动一段时间并在耗时(3 秒)之前再次开始移动,则会再次设置新的计时器,依此类推。希望对你有帮助。
timer = new Timer();
public boolean onTouchEvent(MotionEvent event)
{
switch(event.getAction())
{
case MotionEvent.ACTION_DOWN:
break;
case MotionEvent.ACTION_MOVE:
timer.cancel();
timer = null;
timer = new Timer();
timer.schedule(new TimerTask()
{
@Override
public void run() {
// do your long press task here
}
}, 3000);
break;
case MotionEvent.ACTION_UP:
timer.cancel();
timer = null;
break;
}
return super.onTouchEvent(event);
}
关于java - LongPress 可以在 move 事件后触发吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12364327/
这段代码一直有效,直到我将我的项目从 ios4 转换为 ios6 (+ARC) 并将我的 xib 文件换成 Storyboard。现在我所做的任何点击都算作长按。 手势设置 - (void)viewD
我在我的集合 View 中使用 UILongPressGestureRecognizer,我希望长按手势识别器只有在满足特定条件时才能工作。 NSString *check; if([check
我将更改fabric.js中长按的延迟(使用eventjs构建),但它没有改变。我做错了什么? canvas.on('touch:longpress', longPress, { de
我的表格 View 单元的 UI 遇到奇怪的交互缺陷。我实现了长按手势: func handleLongPress(sender:UILongPressGestureRecognizer!) {
我已经尝试了一段时间来完成这项工作。这种方法似乎在互联网上的几个地方都有效,但不适合我。请注意,当我在手机上尝试时,这在 Dreamweaver(和 chrome)中有效,但在 Eclipse Ind
在我的 GestureDetector 中调用 LongPress 后,如何监听移动事件? 当用户 LongClick 时,他开始选择模式,并且可以将一个正方形拖到屏幕中。但是我注意到在消费了 Lon
当 customView 执行 longPress 时,我想在 customView 上启用 UIPanGestureRecognizer。 (我希望当你longPresscustomView时,cu
我正在尝试使 imageView 在长按时增加尺寸,并在我取消按下后恢复正常。 public class MainActivity extends Activity { private class E
嘿伙计们,我试图让一个 View 出现在父 View 中的长按上,并使其可拖动和可收缩,但就像现在一样,我只能使它成为可拖动的,但收缩不起作用。这是我的代码 class MainVC: UIViewC
我有一个 ListFragment Activity 。 我想为 onItemClickedLongPress 创建一个方法,以便当用户执行此操作时。弹出一个菜单。我熟悉创建菜单。 因此,如果有人愿意
我有一个 UITableView,我正在向它的 UITableViewCell 添加一个 UILongPressGestureRecognizer,如下所示: // Setup Event-Handl
目前我正在开发一个电子邮件应用程序,并希望通过我的应用程序打开所有带有 mailto 方案的链接,而不是默认的 Apple 邮件应用程序。 例如,我有一个这样的链接 mailto_test 在 UIW
我正在开发一个简单的 android 应用程序,我的要求是, “在屏幕上发生一些移动事件(MotionEvent.ACTION_MOVE 为真)后,如果用户在某处停止移动几秒钟而没有将手指从屏幕上移开
这似乎是一个有点奇怪的问题。我在迭代 tableViewCell 中有一个 UIButton在 tableView那是放在常规的ViewController .出于某种原因,它在长按时看起来只是被点击
我需要在适用于 Android 和 iOS 的 Flutter 行元素上实现长按选择。有什么帮助吗? 到目前为止我的代码: class ListElement extends StatelessWid
https://drive.google.com/file/d/0B0alJDsAgypmSElpZUZ1U05zcGM/view?usp=sharing我想要这样的东西,我检查了弧形菜单,但是我们点
我希望用户能够长按 volumeUp 硬件按钮以跳过歌曲,并在短按时执行常规的 volumeUp 操作。 我能够区分两者(我发现 this solution,使用 onKeyDown、onKeyLon
我尝试使用长按手势和配置为连续更新的步进器来设置 View 。长按时,不会出现步进器的连续特征。目前,我已禁用长按。我想我不需要它。但为了将来引用,我将如何允许两者共存? 需要明确的是,这是我尝试此操
All Boxes 是 UITextField。我想在用户长按 UITextField 时更改背景颜色。 长按哪个TextField UITextField颜色变了,不是所有的UITextField
在没有释放屏幕(使用手势检测器)的情况下调用 Longpress 后应该如何调用滚动事件? 这是我的类(class): public class TestingGestureDetector exte
我是一名优秀的程序员,十分优秀!