`
java-admin
  • 浏览: 1381939 次
  • 性别: Icon_minigender_1
  • 来自: 陕西.西安
社区版块
存档分类
最新评论

双击事件的处理

阅读更多

package com.aslibra.test;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.util.Log;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.GestureDetector.OnGestureListener;
import android.widget.LinearLayout;
import android.widget.TextView;

public class touchGesture extends Activity implements OnGestureListener {      
  private LinearLayout main;      
  private TextView viewA;
  private GestureDetector gestureScanner;

  @Override  
  public void onCreate(Bundle savedInstanceState) {  
    super.onCreate(savedInstanceState);  

    gestureScanner = new GestureDetector(this);  
    gestureScanner.setOnDoubleTapListener(new GestureDetector.OnDoubleTapListener(){  
      public boolean onDoubleTap(MotionEvent e) {  
        viewA.setText("-" + "onDoubleTap" + "-");  
        //双击时产生一次
        Log.v("test", "onDoubleTap");
        return false;  
      }
      public boolean onDoubleTapEvent(MotionEvent e) {  
        //双击时产生两次
        Log.v("test", "onDoubleTapEvent");
        return false;
      }  
      public boolean onSingleTapConfirmed(MotionEvent e) {  
        viewA.setText("-" + "onSingleTapConfirmed" + "-");  
        //短快的点击算一次单击
        Log.v("test", "onSingleTapConfirmed");
        return false;  
      }  
    });


    main = new LinearLayout(this);  
    main.setBackgroundColor(Color.GRAY);
    main.setLayoutParams(new LinearLayout.LayoutParams(320,480));
    main.setOrientation(LinearLayout.VERTICAL);

    viewA = new TextView(this);
    viewA.setBackgroundColor(Color.YELLOW);
    viewA.setTextColor(Color.BLACK);  
    viewA.setTextSize(16);
    viewA.setLayoutParams(new LinearLayout.LayoutParams(320,50));  
    main.addView(viewA);

    setContentView(main);  
  }

  @Override  
  public boolean onTouchEvent(MotionEvent me) {  
    return gestureScanner.onTouchEvent(me);  
  }  

  @Override  
  public boolean onDown(MotionEvent e) {  
    //viewA.setText("-" + "DOWN" + "-");  
    return true;  
  }  

  @Override  
  public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {  
    //viewA.setText("-" + "FLING" + "- "+velocityX + "- "+velocityY);  
    Log.v("test", "onFling "+e1.getX()+" "+e2.getX());
    return true;  
  }  

  @Override  
  public void onLongPress(MotionEvent e) {  
    //viewA.setText("-" + "LONG PRESS" + "-");  
  }  

  @Override  
  public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {  
    //viewA.setText("-" + "SCROLL" + "- "+distanceX + "- "+distanceY);  
    Log.v("test", "onScroll "+e1.getX()+" "+e2.getX());
    return true;  
  }  

  @Override  
  public void onShowPress(MotionEvent e) {  
    //viewA.setText("-" + "SHOW PRESS" + "-");  
  }

  @Override  
  public boolean onSingleTapUp(MotionEvent e) {  
    Log.v("test", "onSingleTapUp");
    //viewA.setText("-" + "SINGLE TAP UP" + "-"+ i++);  
    return true;  
  }  
  
}  

 

 

参考资料:

1 GestureDetector and GestureDetector.OnGestureListener
2 how to implement android double tap?

原创内容如转载请注明:来自 阿权的书房 <script> //&lt;![cdata[ document.write(&quot;&lt;br /&gt;本帖地址:&lt;a href=\&quot;&quot;+window.location+&quot;\&quot;&gt;&quot;+window.location+&quot;&lt;/a&gt;&quot;); //]]&gt; </script>
本帖地址:http://www.aslibra.com/blog/post/android_GestureDetector.php

 

 

 

 

 

 

分享到:
评论

相关推荐

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

    // 这里执行双击事件处理 button1_DoubleClick(this, EventArgs.Empty); } } } ``` 在这个示例中,`clickTimer_Tick` 方法会在单击事件发生后启动的定时器触发时运行。如果在此期间没有再次触发单击事件,...

    探寻C# Button双击事件

    // 注册双击事件处理程序 button.DoubleClick += Button_DoubleClick; } private void Button_DoubleClick(object sender, EventArgs e) { MessageBox.Show("Double Click Detected!"); } } ``` #### 四、...

    ASPnet+GridView+双击事件

    7. 最后,为了提高用户体验,可以考虑使用AJAX技术实现异步双击事件处理,避免每次双击都需要刷新整个页面,提高网页的响应速度。 通过以上步骤,你可以实现一个功能完善的ASP.NET GridView双击事件处理系统。这个...

    C# 鼠标钩子 监测鼠标双击事件

    - 当接收到WM_LBUTTONDBLCLK消息时,执行相应的双击事件处理代码,例如弹出消息框或执行特定功能。 4. **Visual Studio 2012 使用** - 使用VS2012打开项目,确保已经安装了.NET Framework 4.5或更高版本,因为这...

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

    // 双击事件处理代码 console.log('Element was double-tapped!'); }); }); ``` 在上面的代码中,`.element`是你希望监听双击事件的元素选择器,当用户对这个元素进行双击操作时,会执行回调函数中的代码。 **四...

    ListBox 项的双击事件

    ListBox控件的双击事件处理是实现复杂用户界面交互的关键部分。通过监听`MouseDoubleClick`事件,我们可以捕捉用户的双击操作,并根据具体需求执行相应的逻辑。无论是打开新窗口、加载数据还是执行其他任务,合理...

    DataGrid双击事件&取值

    本篇文章将深入探讨如何在Visual Studio 2012中利用`DataGrid`控件实现双击事件处理以及如何从选定的行中获取数据。 首先,我们需要了解`DataGrid`控件的基本用法。`DataGrid`可以与各种数据源绑定,如数组、...

    jQuery触摸鼠标双击事件检测代码.zip

    // 双击事件处理代码 console.log('Double tap detected!'); }); }); ``` 在这个例子中,`.element`是希望监听双击事件的元素,当该元素被双击(无论是鼠标还是触摸)时,控制台将打印出'Double tap detected!'...

    双击事件与单击事件

    在给定的`DoubleActivity.java`文件中,可能包含了一个实现了双击事件处理的类。这个类可能会扩展`MouseListener`,并在`mouseDoubleClick`方法内编写具体的双击行为处理代码。例如,如果这个类是一个用于展示文件...

    android view 单击、双击和移动事件处理----TestViewEvent

    Android SDK并未提供内置的双击事件处理,但我们可以利用`OnTouchListener`配合计时器实现。在`OnTouchListener`的`onTouch()`方法中,记录每次点击的时间差,如果连续两次点击的时间差小于某个阈值,就认为是双击:...

    C# Winform 区别单双击操作

    // 在这里编写你的双击事件处理代码 } ``` 3. **区别与应用场景** - 单击事件通常用于执行简单的操作,如打开新窗口、显示信息或执行一次性的命令。 - 双击事件通常用于提供更复杂的交互,如编辑控件内容(如...

    silverlight dataGrid 模拟双击一行事件

    // 在这里编写你的双击事件处理代码,例如打开一个新的窗口或者编辑选中项 } ``` 以上就是如何在Silverlight 4中通过Visual Studio 2010实现DataGrid控件的双击事件模拟。这种方法虽然比直接的双击事件稍微复杂...

    js单击事件和双击事件并存绑定

    总的来说,"js单击事件和双击事件并存绑定"是一个涉及到事件处理、事件冒泡、事件监听和计时器等多方面知识的问题。通过合理地使用这些技术,开发者可以创建出更加丰富和精确的用户交互体验。在实际项目中,根据需求...

    【Echars JS 包】Echars关于实现Legend双击事件所需要的js包在此免费下载

    // 在这里编写你的双击事件处理逻辑 }); ``` 在上述代码中,`myChart.on`方法用于添加事件监听器,`'legend.dblclick'`是事件名,参数`params`是一个包含事件相关信息的对象,例如图例项的名称`name`。你可以根据`...

    FullCalendar扩展双击事件

    本文将深入探讨如何在FullCalendar中实现双击事件功能,包括源码修改和扩展方法,以兼容不同版本。 ### 1. 源码版双击事件 在源码版FullCalendar中添加双击事件功能,你需要直接修改FullCalendar的核心代码。首先...

    Siverlight按钮的双击事件

    在本文中,我们将深入探讨Silverlight中的双击事件处理,特别是在按钮控件上的应用。Silverlight是一种基于.NET Framework的富互联网应用程序(RIA)技术,它提供了丰富的用户界面和交互功能,其中包括对用户输入...

    echarts单双击事件并存demo.html

    在echarts点击事件基础上添加单击和双击事件,使单双击事件并存。该资源为用html和jquery实现的简单的单双击事件并存的demo。

    C#实现给DataGrid单元行添加双击事件的方法

    总结来说,为DataGrid的行添加双击事件主要是通过DataGrid的ItemDataBound事件,结合JavaScript的事件处理来实现的。这种做法允许我们在不改变DataGrid原有功能的基础上,增加用户交互,提高用户体验。同时,需要...

    Android控件单双击判断处理

    在Android开发中,用户界面(UI)的交互是至关重要的,而控件的单击与双击事件处理是其中常见的需求。本主题将详细讲解如何实现Android控件的单双击判断处理,这对于提高用户体验至关重要。 首先,我们需要理解单击...

    silverlight双击事件

    总的来说,Silverlight中的双击事件处理是一个实用的功能,可以帮助提升用户体验,提供更直观的交互。理解并掌握如何在不同类型的UI元素上正确实现双击事件,是提升Silverlight应用程序功能和用户体验的关键。

Global site tag (gtag.js) - Google Analytics