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

Android中的onTouch()事件如何区分单击事件和滑动事件

2014-07-15 14:34 615 查看

private boolean isDown = false;

private float x1 = 0;

private float x2 = 0;

private float y1 = 0;

private float y2 = 0;

@Override

public boolean onTouch(View v, MotionEvent event) {

// TODO Auto-generated method stub

switch (event.getAction()) {

case MotionEvent.ACTION_DOWN:

x1 = event.getX();

y1 = event.getY();

isDown = true;

break;

case MotionEvent.ACTION_UP:

isDown = false;

break;

case MotionEvent.ACTION_MOVE:

x2 = event.getX();

y2 = event.getY();

break;

default:

break;

}

switch (v.getId()) {

case R.id.button_say:

if (event.getAction() == MotionEvent.ACTION_DOWN) {

StartTalk();

StopAudio();

// voiceChangeBtn.setImageResource(R.drawable.ptz_microphone_on1);

} else if (event.getAction() == MotionEvent.ACTION_UP) {

StopTalk();

StartAudio();

// voiceChangeBtn.setImageResource(R.drawable.ptz_microphone_on);

}

break;

case R.id.ipcamclient_whole_view:

dismissAllPopupwindow();

break;

case R.id.camera_flip_viewPager:

if (Math.abs((x1 - x2)) < 25 && Math.abs((y1 - y2)) < 25) {

if (isLandScreem && !isDown) {

dismissAllPopupwindow();

showBottom();

} else if (!isLandScreem && !isDown) {

dismissAllPopupwindow();

}

}

break;

default:

break;

}

return false;

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