Android 给控件设置双击事件

public class VelocityTrackerTest extends Activity {
	private GestureDetector mGestureDetector;

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

		mGestureDetector = new GestureDetector(this,
				new GestureDetector.SimpleOnGestureListener() {
					@Override
					public boolean onDoubleTap(MotionEvent e) {
						Log.i("VelocityTrackerTest", "双击了");
						return super.onDoubleTap(e);
					}
				});
		// 控件双击事件响应,这里的控件是上一篇的移动的圆
		CircleFollowView circle = (CircleFollowView)findViewById(R.id.circle);
		circle.setOnTouchListener(new OnTouchListener() {
			
			@Override
			public boolean onTouch(View view, MotionEvent event) {				
				return mGestureDetector.onTouchEvent(event);
			}
		});

	}

        // 屏幕双击事件响应
	@Override
	public boolean onTouchEvent(MotionEvent event) {
		return mGestureDetector.onTouchEvent(event);
	}

onDoubleTap会针对双击两次后响应,如果对于双击的每一次都要响应的话,可以重写onDoubleTapEvent:

@Override
public boolean onDoubleTapEvent(MotionEvent e) {
      switch (e.getAction()) {
             case MotionEvent.ACTION_DOWN:
                  Log.i("VelocityTrackerTest", "双击中的DOWN");
                  break;
             case MotionEvent.ACTION_UP:
                  Log.i("VelocityTrackerTest", "双击中的UP");
             break;
       }
       return super.onDoubleTapEvent(e);
 }

结果:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值