Button或其它控件的双击或者多击的操作
2016-11-13 16:01
197 查看
long[] mHits = new long[3];
public void treeClick(View v){
/**
* arraycopy里面5个参数详解
* 1.src the source array to copy the content. 拷贝的原数组
2.srcPos the starting index of the content in src. 是从源数组那个位置开始拷贝
3.dst the destination array to copy the data into. 拷贝的目标数组
4.dstPos the starting index for the copied content in dst. 是从目标数组那个位置开始去写
5.length the number of elements to be copied. 拷贝的长度
*/
//拷贝数组操作
System.arraycopy(mHits, 1, mHits, 0, mHits.length-1);
mHits[mHits.length-1] = SystemClock.uptimeMillis(); // 将离开机的时间设置给数组的第二个元素,离开机时间 :毫秒值,手机休眠不算
if (mHits[0] >= (SystemClock.uptimeMillis()-500)) { // 判断是否多击操作
System.out.println("多击了...");
}
}
原理图:long数组mHits 里面的值变化。
图可能看起来有点难理解,下面再解释一下。
第一击:即第一次点击的时候,记录第一次点击的时间比如说700ms,赋值到mHits[2]中保存起来
第二击:把mHits 数组里面的值更新一下,即mHits[1]保存第一次点击的时间(700ms),mHits[2]保存第二次点击的时间(900)。
第三击:同第二击,把mHits 数组里面的值再次更新。判断如果mHits[0]里面的值(第一次点击的时间)大于现在的时间减去500ms,代表这个控件在500ms中点击了3次,即三连击,多击操作。
我语文不好,解释的尽力了,望亲们可以理解。或者提一些建议3Q、
相关文章推荐
- 关于获取button控制或者编辑框控件或者静态文本框控件字符的操作
- listView嵌套button或者其它clickable控件时会出现listView的onitemClick事件不响应的问题
- Flex中通过doubleClick事件来检测用户是否在TextInput控件中进行了双击(double clicks)操作的例子
- U6数据导出工具项目总结三 鼠标单击或者双击DataGridView控件时获取鼠标点击位置的值
- 线程间操作无效: 从不是创建控件“button1”的线程访问它。
- 请问如何实现点击Button实现控件的替换或者页面的局部替换
- mfc之button控件加icon或者bitmap
- asp.net运行时,动态添加Button(或其它控件),并处理相应的事件
- tableView的cell上有一个button,或者其他控件,我们怎么知道他是哪个section
- C# WinForm给Button按钮或其它控件添加快捷键响应
- 修改安卓默认的系统button样式,以及其它系统控件的默认样式
- 模拟双击其它进程窗口中的CListCtrl控件的某一项
- android ListView本行控件操作本行其它控件的重要方法(绝对原创,本人研究2天成果)
- c#操作webbrowser中网页的iframe页面的javascript函数和触发控件事件或者直接运行js函数
- 修改安卓默认的系统button样式,以及其它系统控件的默认样式
- Flex中通过doubleClick事件来检测用户是否在TextInput控件中进行了双击(double clicks)操作的例子
- 给button等按钮和控件加背景色或者图片,dialog如何增加背景色和图片背景
- jquery 操作页面控件 赋值或者取值
- 安卓操作两个控件(如点击两个Button)出现功能置换(交换)的原因
- android中关于美化Button按钮的一些简单操作(其他控件也类似)