安卓多次点击事件

时间:2021-05-27 19:36:40

安卓手机有个版本号,你快速的点击几次,会跳出一个安卓lollipop动画。想了一下多次点击跳转界面是怎么实现的。虽然平时我们开发不会用到这个东西,但还是想把我的成果分享给大家。

思想:使用数组记录点击时的系统时间,如果当前点击事件发生后点击了3次并且当前的系统时间和第一次点击事件发生的时间的差值小于500则认为是连续点击的而且点击了3次。

直接上代码:

package com.android.test;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.View;
import android.widget.Button;

public class OneActivity extends Activity {

    long[] mHits = new long[3]; //需要监听几次点击事件数组的长度就为几

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_one);

        init();
    }

    private void init() {

        Button button = (Button) findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //将mHints数组内的所有元素左移一个位置
                System.arraycopy(mHits,1,mHits,0,mHits.length - 1);
                //获得当前系统已经启动的时间
                mHits[mHits.length - 1] = SystemClock.uptimeMillis();
                //点击的时间差小于500毫秒就认为是连续点击
                if (mHits[0] >= (SystemClock.uptimeMillis() - 500)){
                    startActivity(new Intent(OneActivity.this,TwoActivity.class));
                }
            }
        });
    }
}