我正在尝试实现应用程序的一部分,以便在用户使用双击时打开自定义对话框。
实施目标是在执行Long Click
时获取 OnTouchClick ,用户可以移动视图。
现在,当我们面对Action Up
并且用户放弃了视图时,它会返回False
值,以便再次使用Double Click
。但问题是在Double Click
不可用之后,即使我返回False
值。
namet = (TextView) findViewById(R.id.namet);
namet.setOnTouchListener(new OnSwipeTouchListener(Main2Activity.this) {
@Override
public void onClick() {
super.onClick();
// logo1();
// your on click here
}
@Override
public void onDoubleClick() {
super.onDoubleClick();
MaterialDialog md =new MaterialDialog.Builder(Main2Activity.this)
.customView(R.layout.alertlogo, true)
.cancelable(true)
.show();
}
@Override
public void onLongClick() {
namet.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent event) {
switch (event.getActionMasked()) {
case MotionEvent.ACTION_DOWN:
namet.setTextColor(Color.rgb(51, 51, 255));
xCoOrdinate = view.getX() - event.getRawX();
yCoOrdinate = view.getY() - event.getRawY();
break;
case MotionEvent.ACTION_MOVE:
// isMoving = true;
view.animate().x(event.getRawX() + xCoOrdinate).y(event.getRawY() + yCoOrdinate).setDuration(0).start();
break;
case MotionEvent.ACTION_UP:
return false;
default:
return false;
}
return true;
}
});
// your on onLongClick here
}
答案 0 :(得分:0)
我认为您需要查看此example。
他们有longpress
和doubleTap (DoubleClick)
@Override
public void onLongPress(MotionEvent event) {
gestureText.setText("onLongPress");
}
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2,
float distanceX, float distanceY) {
gestureText.setText("onScroll");
return true;
}
@Override
public void onShowPress(MotionEvent event) {
gestureText.setText("onShowPress");
}
@Override
public boolean onSingleTapUp(MotionEvent event) {
gestureText.setText("onSingleTapUp");
return true;
}
@Override
public boolean onDoubleTap(MotionEvent event) {
gestureText.setText("onDoubleTap");
return true;
}