2013-11-23 6 views
2

В настоящее время я создаю файловый менеджер, который будет использовать жесты для своего действия, поэтому мне нужно иметь такой жест. Я уже пробовал искать некоторые подобные темы здесь, но я просто не могу найти что-то, что даст мне некоторую идею по этому поводу. Все, что я нашел, это SimpleGestureListener (который я уже использовал), и что GestureOverlayView (что, я думаю, не подходит для моего приложения). Я думал, что могу применить эту идею по методу onFling, но я понял, что это неприменимо для L-образного жеста, который я намереваюсь ... Чтобы сделать это простым, вот что я хочу знать:Как определить L-образный жест в андроиде?

enter image description here

Итак, мне нужно выяснить, как определить точку между горизонтальным и вертикальным проводом. Есть ли какой-либо другой метод, который я могу использовать для обнаружения этой точки в моем ListView? Мне просто нужны идеи о том, как это сделать, и я знаю, что смогу это понять. :)

ответ

0

Вам необходимо реализовать событие onTouch() для вашего списка, чтобы обнаружить шаблон касания пользователя. Вот псевдо-код, как я хотел бы подойти к этому:

@Override 
public boolean onTouch(View view, MotionEvent motionEvent) { 

    switch (motionEvent.getActionMasked()) { 
     case MotionEvent.ACTION_DOWN: 
      //Get the X and Y values the user touched down first 
      mDownX = motionEvent.getRawX(); 
      mDownY = motionEvent.getRawY(); 

      break; 

     case MotionEvent.ACTION_MOVE: { 
      float deltaX = motionEvent.getRawX() - mDownX; 
      float deltaY = motionEvent.getRawY() - mDownY; 

      if (deltaX > myMoveToTheRightThreashold 
       && Math.abs(deltaY) < myNoYmoveThreashold) { 
       moveToRight = true; 
      } 
      if (moveToRight && deltaY > myMoveUpThreshold) { 
       myLShapedGesture = true; 
       return true; 
      } 
      break; 
     } 
     return false; 
} 

Я не проверял это на всех, и я просто пытаюсь дать вам представление о том, как подойти. Вероятно, вам нужно добавить case MotionEvent.ACTION_UP, чтобы определить, когда пользователь перестает прикасаться к устройству и выполнять требуемые действия там.

Надеюсь, это поможет.

+0

Спасибо, что дали мне несколько идей о том, как это сделать. Позвольте мне просто поэкспериментировать с этими кодами, и я вернусь сюда, если я это сделаю. Благодарю. –

Смежные вопросы