需求:需要给一个view实现双击效果,查看了api,发现没有api可以调用, 于是从网上参考了一段代码。
xml布局文件:
<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"> <View android:id="@+id/double_test" android:layout_width="50dp" android:layout_height="50dp" android:background="#FF00FF"/> </RelativeLayout>
MainActivity类
public class MainActivity extends Activity { private long[] mHits = new long[2];//存储时间的数组 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); View view=findViewById(R.id.double_test); view.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //实现数组的移位操作,点击一次,左移一位,末尾补上当前开机时间(cpu的时间) System.arraycopy(mHits, 1, mHits, 0, mHits.length - 1); mHits[mHits.length - 1] = SystemClock.uptimeMillis(); //双击事件的时间间隔500ms if (mHits[0] >= (SystemClock.uptimeMillis() - 500)) { Toast.makeText(MainActivity.this, "双击事件!!!", 0).show(); } } }); } }