如何制作左右活动滑块?
问题描述:
有关如何使用“幻灯片向左”和“向右滑动”(如典型图像滑块)制作活动滑块的任何建议?如何制作左右活动滑块?
我试着用:(实现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;
}
,但没有左,右的选择。
我不需要使用按钮,只需要为ipad2做图像滑块等一些事情,但需要为客户应用程序提供活动。
感谢
答
您需要通过自己的幻灯片左,右移动计算
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";
}
}
}