2012-03-08 127 views
0

有關如何使用「幻燈片向左」和「向右滑動」(如典型圖像滑塊)製作活動滑塊的任何建議?如何製作左右活動滑塊?

我試着用:(實現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做圖像滑塊等一些事情,但需要爲客戶應用程序提供活動。

感謝

回答

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"; 
      } 
     } 
     }