自定义view-自定义View控件中怎么实现双击事件和单击事件

问题描述

自定义View控件中怎么实现双击事件和单击事件

最近写了一个自定义View控件,想要实现单击事件和双击事件,单击事件到时很容易实现,但是双击事件却不知道怎么实现,求助一下在自定义View控件下怎么实现双击事件。

解决方案

android中只有单击和其他事件,其实都是由OnTouch事件演变而来

public class MainActivity extends Activity implements OnTouchListener {

private long firstClick;

private long lastClick;

// 计算点击的次数

private int count;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    findViewById(R.id.ontourch).setOnTouchListener(this);
}  

@Override
public boolean onTouch(View arg0, MotionEvent event) {
    switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN:
        // 如果第二次点击 距离第一次点击时间过长 那么将第二次点击看为第一次点击
        if (firstClick != 0 && System.currentTimeMillis() - firstClick > 300) {
            count = 0;
        }
        count++;
        if (count == 1) {
            firstClick = System.currentTimeMillis();
        } else if (count == 2) {
            lastClick = System.currentTimeMillis();
            // 两次点击小于300ms 也就是连续点击
            if (lastClick - firstClick < 300) {// 判断是否是执行了双击事件
                System.out.println(">>>>>>>>执行了双击事件");  

            }
        }
        break;
    case MotionEvent.ACTION_MOVE:
        break;
    case MotionEvent.ACTION_UP:
        break;
    }
    return true;
}

}

时间: 2024-12-03 21:53:17

自定义view-自定义View控件中怎么实现双击事件和单击事件的相关文章

Android自定义View之组合控件实现类似电商app顶部栏_Android

本文实例为大家分享了Android自定义View之组合控件,仿电商app顶部栏的相关代码,供大家参考,具体内容如下 效果图: 分析:左右两边可以是TextView和Button,设置drawableTop即可,中间的看着像是EditText,但是用过淘宝天猫等类似app的话会发现点击搜索不是在当前Activit进行搜索的,是跳转到另外的页面进行的,所以用TextView然后设置背景即可. 实现流程 参数列表: 设置属性文件:values下建立attrs.xml文件,添加需要自定义的属性. <?x

Android自定义View之组合控件实现类似电商app顶部栏

本文实例为大家分享了Android自定义View之组合控件,仿电商app顶部栏的相关代码,供大家参考,具体内容如下 效果图: 分析:左右两边可以是TextView和Button,设置drawableTop即可,中间的看着像是EditText,但是用过淘宝天猫等类似app的话会发现点击搜索不是在当前Activit进行搜索的,是跳转到另外的页面进行的,所以用TextView然后设置背景即可. 实现流程 参数列表: 设置属性文件:values下建立attrs.xml文件,添加需要自定义的属性. <?x

Android开发技巧之在a标签或TextView控件中单击链接弹出Activity(自定义动作)_Android

在5.2.1节和5.2.2节介绍了<a>标签以及TextView自动识别的特殊文本(网址.电话号.Email等),这些都可以通过单击来触发不同的动作.虽然这些单击动作已经可以满足大多数需要了,但如果读者想在单击链接时执行任意自定义的动作,那么本节的内容非看不可. 现在让我们使用5.2.1节介绍的方法重新查看Html.java文件的内容,随便找一个处理Html标签的方法,例 如,endA方法.该方法用于处理</a>标签.我们会发现在该方法中如下的语句. text.setSpan(ne

工具条组合combo控件,下拉控件中的显示字体可以自定义么?

问题描述 工具条组合combo控件,下拉控件中的显示字体可以自定义么? 工具条组合combo控件,下拉控件中的显示字体可以自定义么?怎么让字体设置为所显示的文字的字体呢? 解决方案 有一个叫做fontcombo的第三方控件直接就支持了.

timer-DEV 第三方控件中的使用中自定义用户控件里面的Timer 控件的使用

问题描述 DEV 第三方控件中的使用中自定义用户控件里面的Timer 控件的使用 用户控件中使用的代码如下:/asp:ScriptManager /asp:Timer /asp:Literal /asp:UpdatePanel 为什么到事件刷新的时候会报 " Sys.WebForms.PageRequestManagerParserErrorException: 未能分析从服务器收到的消息." 这个错误呢?请指教一下 解决方案 asp不会,jsp会一点,祝你好运!

自定义事件异步响应-自定义用户控件中,事件的异步响就

问题描述 自定义用户控件中,事件的异步响就 自定义一含有自定义事件的用户控件,当在异步情况下时,该事件的处理程序总是为null,怎么处理? 解决方案 对应事件的实例是否还有效.存在. 解决方案二: 什么叫事件的处理程序总是为null,仔细调试下,事件处理程序有没有传正确,应该同步等加载完了再执行.

如何在DataGrid控件中实现自定义分页_自学过程

如何在DataGrid控件中实现自定义分页      在一般情况下,DataGrid控件每次实现翻页操作时,都会将数据源中的数据重新调用一次,当数据中 数据很多时,这样做就会很浪费系统资源和降低程序的执行效率.这时候我们一般通过自定义分页来解 决这个问题.     DataGrid控件的AllowCustomPaging属性用来获取或设置DataGrid控件是否允许自定义分 页;VirtualItemCoun属性用来获取或设置在使用自定义分页时DataGrid中实际的项数.要实现自定义分 页,必

如何在 MSChart控件中 创建自定义 &amp;amp;quot;文本标注&amp;amp;quot; ?

问题描述 如下图所示:C#控件MSchart画的曲线图,在图表区上方有自动生成的文字标注,不是title,也不是lable,不知道怎么做,请问有了解的吗? 解决方案 解决方案二:应该说是自定义文本,动态生成的文本标注!!解决方案三:可以用TextAnnotation如下所示:TextAnnotationtxtAn=newTextAnnotation();txtAn.Alignment=ContentAlignment.BottomLeft;//对齐方式txtAn.ForeColor=System

[导入]在自定义WebUserControl中访问PAGE/master/或其它控件中的对象

在自定义WebUserControl中访问PAGE/master/或其它控件中的对象文章来源:http://blog.csdn.net/chsword/archive/2006/12/25/1461165.aspx