我想知道编辑文本在android中的触摸侦听器上是如何垂直移动的。
这是我的实施。它在我的手指移动时垂直移动但不准确。它是闪烁的,并且在我离开编辑文本视图的位置没有正确定位:
x=event.getX();
y=event.getY();
switch (event.getAction())
{
case MotionEvent.ACTION_MOVE:
/*movabletext.setY(y);*/
break;
case MotionEvent.ACTION_UP:
movabletext.setY(y);
break;
case MotionEvent.ACTION_DOWN:
movabletext.setY(y);
break;
}
return true;
}
感谢。
答案 0 :(得分:1)
我可能无法准确理解你的问题。但是,如果您希望您的编辑文本只能垂直移动,只需在每次按下时将x设置为常量。
也许是这样的
x=event.getX();
y=event.getY();
switch (event.getAction())
{
case MotionEvent.ACTION_MOVE:
/*movabletext.setY(y);*/
break;
case MotionEvent.ACTION_UP:
movabletext.setY(y);
movabletext.setX(CONSTANT);
break;
case MotionEvent.ACTION_DOWN:
movabletext.setY(y);
movabletext.setX(CONSTANT);
break;
}
return true;
}
答案 1 :(得分:0)
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN: {
startClickTime =
Calendar.getInstance().getTimeInMillis();
break;
}
case MotionEvent.ACTION_MOVE: {
if (clickDuration > MAX_CLICK_DURATION)
{
if (currX < widthScreen && currY <
heightScreen) {
ViewGroup.MarginLayoutParams
marginParams = new
ViewGroup.MarginLayoutParams
(view.getLayoutParams());
marginParams.setMargins((int)
(currX - mPrevX), (int) (currY -
mPrevY), 0, 0);
RelativeLayout.LayoutParams
layoutParams = new
RelativeLayout.LayoutParams(marginParams);
view.setLayoutParams(layoutParams);
}
}
break;
}
case MotionEvent.ACTION_UP: {
}