码迷,mamicode.com
首页 > 其他好文 > 详细

03多次点击事件的实现

时间:2015-10-04 22:17:37      阅读:250      评论:0      收藏:0      [点我收藏+]

标签:

多次点击

一、彩蛋
1、快速点击3次
技术分享
2、再次点击一下
技术分享
二、查看系统如何实现多次点击
导入Settings

技术分享
1、Android version
技术分享

2、CTRL+H,搜Android version
技术分享
3、搜索到的strings.xml
技术分享
4、再次CTRL+H,搜fireware_version
技术分享
5、源码多次点击实现
long[] mHits = new long[3]; 
...... 
public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
if (preference.getKey().equals(KEY_FIRMWARE_VERSION)) {
System.arraycopy(mHits, 1, mHits, 0, mHits.length-1);
mHits[mHits.length-1] = SystemClock.uptimeMillis();
if (mHits[0] >= (SystemClock.uptimeMillis()-500)) {
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setClassName("android",
com.android.internal.app.PlatLogoActivity.class.getName());
try {
startActivity(intent);
catch (Exception e) {
Log.e(LOG_TAG"Unable to start activity " + intent.toString());
}
}
三、系统3击事件源码分析:
技术分享
技术分享
四、案例
package cn.zengfansheng.threeclick;
import android.app.Activity;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.View;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
// 1、存时间的数组
long[] mHits = new long[3];
public void threeClick(View view) {
// 2、数组拷贝,将mHits的值位置1开始拷贝的mHits从0开始,拷贝mHits.length-1个
// 那么最后一个位置留下了
System.arraycopy(mHits, 1, mHits, 0, mHits.length - 1);
// 3、mHits最后一个位置赋值为当前系统时间
mHits[mHits.length - 1] = SystemClock.uptimeMillis();
//4、如果mHits第一个元素
if (mHits[0] >= (SystemClock.uptimeMillis() - 500)) {
Toast.makeText(getApplicationContext(), mHits.length + "击事件~~~",0).show();
}
}
/**
* 我的四击事件
* @param view
*/
long[] myHits = new long[4];
public void myFourClick(View view) {
// 1、拷贝
System.arraycopy(myHits, 1, mHits, 0, myHits.length - 1);
// 2、赋值系统时间给最后一个元素
myHits[myHits.length - 1] = SystemClock.currentThreadTimeMillis();
// 判断
if (myHits[0] >= (myHits[myHits.length - 1] - 600)) {
Toast.makeText(getApplicationContext(), myHits.length + "击事件~~~", 0)
.show();
}
}
}





03多次点击事件的实现

标签:

原文地址:http://www.cnblogs.com/linmbbest/p/4855079.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!