您的位置:首页 > 移动开发 > Android开发

Android 给控件设置双击事件

2016-07-12 15:31 483 查看
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);
 }

结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: