Android中实现双击事件

需求:需要给一个view实现双击效果,查看了api,发现没有api可以调用, 于是从网上参考了一段代码。



xml布局文件:

  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     xmlns:tools="http://schemas.android.com/tools"  
  3.     android:layout_width="match_parent"  
  4.     android:layout_height="match_parent">  
  5.   
  6.     <View  
  7.         android:id="@+id/double_test"  
  8.         android:layout_width="50dp"  
  9.         android:layout_height="50dp"  
  10.         android:background="#FF00FF"/>  
  11.   
  12. </RelativeLayout>  



MainActivity类

  1. public class MainActivity extends Activity {  
  2.     private long[] mHits = new long[2];//存储时间的数组  
  3.       
  4.     @Override  
  5.     protected void onCreate(Bundle savedInstanceState) {  
  6.         super.onCreate(savedInstanceState);  
  7.         setContentView(R.layout.activity_main);  
  8.           
  9.         View view=findViewById(R.id.double_test);  
  10.         view.setOnClickListener(new OnClickListener() {  
  11.             @Override  
  12.             public void onClick(View v) {  
  13.                             //实现数组的移位操作,点击一次,左移一位,末尾补上当前开机时间(cpu的时间)  
  14.                 System.arraycopy(mHits, 1, mHits, 0, mHits.length - 1);  
  15.                 mHits[mHits.length - 1] = SystemClock.uptimeMillis();  
  16.                 //双击事件的时间间隔500ms  
  17.                 if (mHits[0] >= (SystemClock.uptimeMillis() - 500)) {  
  18.                     Toast.makeText(MainActivity.this"双击事件!!!"0).show();  
  19.                 }  
  20.             }  
  21.         });  
  22.     }  
  23. }  


参考链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值