0
我想在EditText
上實現拖動和雙擊事件,但我只能實現兩者中的任意一個。這背後的想法是當用戶雙擊編輯文本時編輯文本變爲啓用,並且拖動他可以拖動它,無論他想要什麼。實現在同一視圖上拖動和雙擊android
text.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
if(gestureDetector.onTouchEvent(event)==true && gestureDetector!=null){
return gestureDetector.onTouchEvent(event);
}
else
{drag(event, v);
return true; }
}
private void drag(MotionEvent event, View v) {
// TODO Auto-generated method stub
RelativeLayout.LayoutParams params = (android.widget.RelativeLayout.LayoutParams) v
.getLayoutParams();
switch (event.getAction()) {
case MotionEvent.ACTION_MOVE: {
params.topMargin = (int) event.getRawY() - (v.getHeight());
params.leftMargin = (int) event.getRawX()
- (v.getWidth()/2);
v.setLayoutParams(params);
break;
}
case MotionEvent.ACTION_UP: {
params.topMargin = (int) event.getRawY() - (v.getHeight());
params.leftMargin = (int) event.getRawX()
- (v.getWidth()/2);
v.setLayoutParams(params);
break;
}
case MotionEvent.ACTION_DOWN: {
v.setLayoutParams(params);
break;
}
}
}
});