双击事件

简单的双击事件

布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" >

    <Button  android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:onClick="onClick" android:text="双击我!" />

</RelativeLayout>

代码:

package com.it.doubleclick;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;

public class MainActivity extends Activity {

    private long startClickTime;// 第一次点击的时间

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

    /** * 双击事件 * * @param view */
    public void onClick(View view) {
        if (startClickTime > 0) {
            if (System.currentTimeMillis() - startClickTime < 500) {
                Toast.makeText(this, "双击啦!!!", Toast.LENGTH_SHORT).show();
                startClickTime = 0;
                return;
            }
        }

        startClickTime = System.currentTimeMillis();
    }

}

Google高级双击事件

布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" >

    <Button  android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:onClick="onClick" android:text="多击我!" />

</RelativeLayout>

代码:

package com.it.moreclick;

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 {

    long[] mHits = new long[3];// 数组长度表示单击次数

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

    /** * 多击事件 * * @param view */
    public void onClick(View view) {
        // 拷贝数组,参1表示原数组, 参2表示从原数组哪个位置开始拷贝, 参3表示目标数组,参4表示拷贝到目标数组的哪个位置,参5表示拷贝数组的长度
        System.arraycopy(mHits, 1, mHits, 0, mHits.length - 1);
        mHits[mHits.length - 1] = SystemClock.uptimeMillis();// 系统时钟, 开机后开始计算,
                                                                // 开机时间
        if (mHits[0] >= (SystemClock.uptimeMillis() - 500)) {
            Toast.makeText(this, "是男人!", Toast.LENGTH_SHORT).show();
        }
    }
}

你可能感兴趣的:(Android开发)