本次实现是借鉴android系统源代码setting 多次点击事件 源代码setting
1.在android系统中,设置里面->关于手机->安卓版本(即android version),三击后会出现android该个版本的版本号,以及一些动图,算是一个彩蛋吧!
2.导入setting源代码,ctrl+h搜索文件(关键字Android Version),搜索到了之后打开xml文件
3.是一个strings.xml文件,再次找到关键字firmware_version,再搜索。找到src下的源代码文件
4.又找到一个关键字KEY_FIRMWARE_VERSION,翻一翻找到关于多次点击事件的方法onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference)方法
5.去掉不需要的代码,复制有用的相关代码,就可以很容易的实现多次点击事件了。这里的3可以改为任意值>=2的值
一下是我写的一个Demo:
定义两个成员变量以便日后更改
private static final int CLICKCOUNT = 4;//设置连续点击的次数 private static final long TIME = 3000;//设置在多少时间内连续点击点击 事件的处理
Button multiple = (Button) findViewById(R.id.multipleClick); multiple.setOnClickListener(new View.OnClickListener() { long[] mHints = new long[CLICKCOUNT];//可以定义一个常量来设置 @Override public void onClick(View v) { //将mHints数组内的所有元素左移一个位置 System.arraycopy(mHints, 1, mHints, 0, mHints.length - 1); //获得当前系统已经启动的时间 mHints[mHints.length - 1] = SystemClock.uptimeMillis();//从开机开始算 if(mHints[0] != 0 && SystemClock.uptimeMillis() - mHints[0] <= TIME){ Toast.makeText(MainActivity.this,"点击了三下",Toast.LENGTH_SHORT).show(); } } });