很多软件中有多次点击有彩蛋的功能,而我们不能自己写,两次点击还好,多次点击就有点复杂了,所以可以参考谷歌官方的代码 可以实现多次点击实现功能。
开始贴代码
1.点击次数设置
long[] mHits = new long[2];
private WindowManager.LayoutParams params;
/**
* 窗体管理者
*/
private WindowManager wm;
// 实例化窗体
wm = (WindowManager) getSystemService(WINDOW_SERVICE);
2.点击事件的发生
public void myToast(String address) {
view = View.inflate(this, R.layout.address_show, null);
TextView textview = (TextView) view.findViewById(R.id.tv_address);
view.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//利用数组移位的原理进行判断
System.arraycopy(mHits, 1, mHits, 0, mHits.length - 1);
mHits[mHits.length - 1] = SystemClock.uptimeMillis();
if (mHits[0] >= (SystemClock.uptimeMillis() - 500)) {
// 双击居中了。。。
params.x = wm.getDefaultDisplay().getWidth()/2-view.getWidth()/2;
wm.updateViewLayout(view, params);
<span style="white-space:pre"> </span>Editor editor = sp.edit();
<span style="white-space:pre"> </span>editor.putInt("lastx", params.x);
<span style="white-space:pre"> </span>editor.commit();
}
}
});