有关如何使用“向左滑动”和“向右滑动”制作活动滑块的任何建议,如典型的图像滑块吗?
我尝试过:(实现OnTouchListener)
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction())
{
case MotionEvent.ACTION_DOWN:
{
// code
break;
}
case MotionEvent.ACTION_UP:
{
// code
break;
}
case MotionEvent.ACTION_MOVE:
{
// code
break;
}
}
return true;
}
但没有LEFT,RIGHT选择。
我不需要使用按钮,只需要做一些事情,比如ipad2的图像滑块,但有一个客户应用程序的活动。
由于
答案 0 :(得分:1)
您需要自己计算左右滑动
<强> MotionEvent.ACTION_UP 强>
按下的手势已完成,动作包含最终发布位置以及自上次下移或移动事件以来的任何中间点。
<强> MotionEvent.ACTION_DOWN 强>
按下的手势已经开始,动作包含初始起始位置。
使用onTouchEvent()
和计算X的差异和Y的差异,用户按下并抬起的位置。使用这些值来确定移动的方向。
float x1, x2, y1, y2;
String direction;
switch(event.getAction()) {
case(MotionEvent.ACTION_DOWN):
x1 = event.getX();
y1 = event.getY();
break;
case(MotionEvent.ACTION_UP) {
x2 = event.getX();
y2 = event.getY();
float differenceInX = x2-x1;
float differenceInY = y2-y1;
// Use dx and dy to determine the direction
if(Math.abs(differenceInX) > Math.abs(differenceInY)) {
if(differenceInX > 0) direction = "right";
else direction = "left";
} else {
if(differenceInY > 0) direction = "down";
else direction = "up";
}
}
}