2012-04-28 7 views
1

ViewGroup 항목에 슬라이드 제스처 (왼쪽 또는 오른쪽으로 슬라이드)를 구현하여 삭제하고 싶습니다. 또한 항목을 삭제하려면 손가락을 따라 항목 (가로로 드래그)을 만들고 싶습니다. 나는 어떤 예도 찾지 못했다. 너 어디서 볼 수 있겠 니?삭제할 Android 슬라이드 요소

감사

답변

4
public class SelectFilterActivity extends Activity implements OnClickListener 
{ 
private static final int SWIPE_MIN_DISTANCE = 120; 
private static final int SWIPE_MAX_OFF_PATH = 250; 
private static final int SWIPE_THRESHOLD_VELOCITY = 200; 
private GestureDetector gestureDetector; 
View.OnTouchListener gestureListener; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    /* ... */ 

    // Gesture detection 
    gestureDetector = new GestureDetector(new MyGestureDetector()); 
    gestureListener = new View.OnTouchListener() { 
     public boolean onTouch(View v, MotionEvent event) { 
      return gestureDetector.onTouchEvent(event); 
     } 
    }; 

} 

class MyGestureDetector extends SimpleOnGestureListener { 
    @Override 
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { 
     try { 
      if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH) 
       return false; 
      // right to left swipe 
      if(e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) { 
       Toast.makeText(SelectFilterActivity.this, "Left Swipe", Toast.LENGTH_SHORT).show(); 
      } else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) { 
       Toast.makeText(SelectFilterActivity.this, "Right Swipe", Toast.LENGTH_SHORT).show(); 
      } 
     } catch (Exception e) { 
      // nothing 
     } 
     return false; 
    } 

} 
+0

감사합니다 ...하지만 나는 관여하는 요소를 이해한다 어디? – Matroska

+0

http://stackoverflow.com/questions/4373485/android-swipe-on-list –

+0

좋아요. 그렇기 때문에 가능한 것처럼 보이지만 움직임을 보여주기 위해보기를 움직이는 방법을 이해하지 못합니다. 이 일을 도와 줄 수 있어요? – Matroska

관련 문제