Android监听连续点击次数代码实现
2015-04-07 08:20
253 查看
一般实现
我们知道,一般实现双击事件,可以通过new OnClickListener()监听点击事件,然后记录前后两次点击距离开机的时间,由时间差在一定范围实现,代码如下:long firstClickTime = 0; @Override public void onClick(View view) { if(firstClickTime > 0){ long secondClickTime = SystemClock.uptimeMillis();//距离上次开机时间 long dtime = secondClickTime - firstClickTime; if(dtime > 500){ Toast.makeText(getApplicationContext(), "实现双击事件监听", 0).show(); } else{ firstClickTime = 0; } return ; } firstClickTime = SystemClock.uptimeMillis(); }
Google实现算法
看完上面实现,思路很简单,但是当要实现多次点击时,那上面的可能就代码量很大了,这里写下GoogleAPI提供的方法<span style="white-space:pre"> </span>//数组存储点击次数 long[] mHits = new long[2]; @Override public void onClick(View v) { //实现双击方法 //src 拷贝的源数组 //srcPos 从源数组的那个位置开始拷贝. //dst 目标数组 //dstPos 从目标数组的那个位子开始写数据 //length 拷贝的元素的个数 System.arraycopy(mHits, 1, mHits, 0, mHits.length - 1); //实现左移,然后最后一个位置更新距离开机的时间,如果最后一个时间和最开始时间小于500,即双击 mHits[mHits.length - 1] = SystemClock.uptimeMillis(); if (mHits[0] >= (SystemClock.uptimeMillis() - 500)) { // 双击居中了。。。屏幕的一半和归属地的一半,更新窗口,保存lastX params.x = wm.getDefaultDisplay().getWidth()/2-view.getWidth()/2; wm.updateViewLayout(view, params); Editor editor = sp.edit(); editor.putInt("lastx", params.x); editor.commit(); } }
相关文章推荐
- android之实现各个组件点击事件监听
- android listview item点击时更改textview的颜色 代码中实现
- Android中连续点击版本号打开开发者选项的实现方式
- 代码实现android手机信号监听
- Android 监听apk安装替换卸载广播的实现代码
- java代码对按钮进行监听---------------打印出每次点击按钮的次数
- android之实现各个组件点击事件监听
- Android中监听软键盘显示状态实现代码
- Android点击按钮实现全屏的代码
- Android实战简易教程-第十五枪(实现ListView中Button点击事件监听)
- 【Android】代码实现模拟屏幕点击和键盘按键事件
- Android开发之PullToRefresh的Click点击事件的监听实现长按删除Item
- android基础之如何实现触屏监听和鼠标点击事件
- Android PopupWindow 点击外面取消实现代码
- Android 监听apk安装替换卸载广播的实现代码
- Jquery实现点击按钮,连续地向textarea中添加值的实例代码
- android button实现长按连续点击效果
- 求助 android监听事件 实现代码监听鼠标的左键,中间键,右键
- 几行代码实现Android 点击两次返回键退出程序
- Android 中Home键和Back键监听的区别以及代码实现(附源代码)