`

用两次单机事件模拟双击事件

阅读更多

双击事件的本质就是两次单击事件,这两个单击事件的发生时间间隔短,就有一种双击事件的感觉了,下面是模板代码,随用随copy:

 view.setOnClickListener(new OnClickListener() {			
			@Override
			public void onClick(View v) {				
				Log.i(TAG, "被点击了......");
				if ( firstClickTime > 0 ) {		
					//第二次点击
					long secondClickTime = System.currentTimeMillis();
					if ( (secondClickTime - firstClickTime) < 500 ) {
						//双击事件
						Log.i(TAG, "被双击了......");
					}
					firstClickTime = 0;
				}
				//判断是否是一次点击,记录点击时间
				firstClickTime = System.currentTimeMillis();
				//点击了一次,过一段时间将firstClickTime清零,
				new Thread(){	
					public void run() {
						try {
							Thread.sleep(500);
						} catch (InterruptedException e) {
							e.printStackTrace();
						}
						firstClickTime = 0;
					}
				}.start();
			}
		 });

 

1
1
分享到:
评论

相关推荐

    C# winform 单击与双击事件同时存在例子

    这是因为这两种事件在时间间隔上非常接近,系统通常会将连续两次快速点击识别为双击事件,而不是单独的两次单击事件。这导致开发者在尝试同时监听这两个事件时可能会遇到困扰。 首先,让我们理解单击(Click)和...

    探寻C# Button双击事件

    通过对`Button`控件的`Click`事件进行重载,并通过记录两次点击之间的时间间隔来判断是否为双击,我们成功地实现了`Button`控件的双击事件。这种方法不仅简单实用,而且具有很好的灵活性。在实际开发过程中,可以...

    用Delphi模拟鼠标的单双击..rar

    对于双击,Windows API没有直接提供双击事件,但我们可以利用延时和连续两次单击来模拟双击效果: ```delphi procedure SimulateDoubleClick(X, Y: Integer); var Delay: Integer; begin // 模拟左键按下 mouse_...

    使用OnTouch实现一个控件同时设置单击、双击、长按事件demo

    双击事件需要在短时间内连续发生两次单击。我们可以记录第一次单击的时间戳,并在第二次单击时检查两次单击之间的间隔。如果间隔小于设定的双击阈值,就认为是双击事件。 ### 四、长按事件 长按事件通常由`...

    VC++ 模拟鼠标单击 双击 实现

    可以使用`Sleep`函数来控制两次单击之间的延迟,但要注意,由于系统和硬件差异,这个时间间隔可能需要适当调整以适应不同环境。 下面是一个简单的示例代码,模拟鼠标在(100, 200)位置的单击: ```cpp #include ...

    鼠标双击或触摸双击事件检测jQuery插件

    这在移动设备上尤为重要,因为单击和双击事件在触摸屏设备上的处理方式与鼠标设备不同,这个插件很好地解决了这一问题。 **二、工作原理** 1. **鼠标双击检测**:对于鼠标设备,jQuery-doubleTap监听连续的两次...

    silverlight dataGrid 模拟双击一行事件

    4. **处理双击事件**:在计时器的Tick事件处理程序中,检查是否在同一行上发生了两次单击,如果是,则触发自定义的双击事件。 ```csharp private void Timer_Tick(object sender, EventArgs e) { if ...

    用程序模拟鼠标单击与双击的效果【VC 】.rar

    2. **鼠标双击**:对于双击,我们需要在短时间内连续两次模拟单击。这涉及到计算两次单击之间的时间间隔,确保它低于Windows定义的双击阈值。通常,这个阈值可以通过`GetDoubleClickTime()`函数获取。在满足条件后,...

    qt获取按键双击、多击事件

    如果在短时间内连续两次按下Shift键,计数器达到2,我们就认为发生了双击事件,并在控制台打印一条消息。当Shift键被释放或非Shift键被按下时,计数器会被重置。此外,当定时器超时,也会重置计数器,防止误判。 在...

    模拟鼠标单双击Visual Basic6.0源程序,VB6.0源代码

    然后,我们可以这样模拟双击: ```vb Public Sub SimulateMouseDoubleClick(x As Long, y As Long) Dim dblClickTime As Long dblClickTime = GetDoubleClickTime() ' 模拟第一次点击 Call mouse_event...

    vue双击事件2.0事件监听(点击-双击-鼠标事件)和事件修饰符操作

    - `.capture`:添加事件监听器时使用事件捕获模式。 - `.self`:只当事件是从事件绑定的元素本身触发时才触发回调。 - `.once`:事件将只会触发一次。 - `.passive`:表示对应的事件监听器会始终调用其回调函数,而...

    按键实现单击、双击、长按 方便移植版本

    如果在短时间内连续两次检测到单击事件,那么可以判定为双击。这里的“短时间内”通常设定为比单击时间稍长,但又小于用户能感知的两次独立单击的时间间隔。 3. **长按检测**: 长按检测则需要持续监测按键状态,...

    VB 模拟鼠标单击事件

    如果需要模拟双击,只需在适当的时间间隔内重复这个过程即可。 值得注意的是,模拟鼠标点击可能会涉及到安全和权限问题,因此在实际应用时要确保符合系统和应用的安全策略。此外,对于现代的VB版本(如VB.NET),...

    计算机软件-商业源码-123 模拟鼠标的单双击.zip

    3. **时间控制**:在模拟双击时,需要控制两次单击之间的时间间隔,以符合操作系统的双击判定标准。 4. **错误处理**:处理可能出现的错误情况,比如API调用失败或者权限问题。 5. **跨平台兼容**:如果源码需要在...

    一个模拟鼠标的单双击源代码

    // 模拟双击时需要短暂延迟,让系统识别为两个独立的点击 mouse_event(MOUSEEVENTF_LEFTUP | MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); } else { mouse_event(flags | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); } } ``` 在...

    模拟鼠标光标移动及鼠标单击双击

    模拟鼠标双击通常是在单击的基础上进行两次连续的点击。在Windows API中,这需要连续调用两次`mouse_event`,间隔时间足够短,以被系统识别为双击。在Python的`pyautogui`库中,有一个专门的`doubleClick`方法用于...

    鼠标单击变双击测试程序

    而双击则是快速连续两次按下并释放左键,常用于打开文件或文件夹,或者在某些应用中启动特定功能。当鼠标出现单击变双击的现象时,用户可能原本只想进行简单的选择操作,但系统却误识别为双击,导致了不期望的行为。...

    鼠标双击测试软件

    当用户快速连续两次点击鼠标左键时,操作系统会识别为一个双击事件,执行相应双击的操作,比如打开文件或程序。如果鼠标双击功能出现问题,可能会导致用户在尝试单击时触发了双击事件,这将严重影响使用体验和工作...

    鼠标单双击测试

    “MouseClick”程序可能是用一种编程语言(如C#、Java或Python)编写的,用于模拟和检测鼠标单击和双击行为。这类程序可以帮助开发者调试他们的应用,确保对鼠标点击事件的正确处理。例如,如果一个按钮设计为在单击...

    Android 实现双击

    双击是指用户在短时间内连续点击屏幕两次。在Android中,我们可以使用GestureDetector类来检测这种手势。GestureDetector是一个用于识别常见触摸手势的类,包括单击、双击、滑动等。以下是如何使用GestureDetector来...

Global site tag (gtag.js) - Google Analytics