2012-08-06 33 views
11

Tôi đang tìm kiếm một trang phục có mã nguồn trên các thẻ gesutes, tôi không muốn một máy nhắn tin xem, tôi muốn có hướng dẫn cử chỉ vuốt. đây là một ví dụ tôi tìm thấy nhưng công việc doesnt cho tôiCử chỉ vuốt đơn giản đến hướng dẫn hoạt động?

http://www.eridem.net/android-tip-010-left-and-right-swipe-gesture-events

Tôi muốn một cái gì đó như thế này, nhờ Hãy không xem máy nhắn tin

+1

bạn đang cố gắng gì để vuốt? Hãy cho chúng tôi biết bối cảnh. Bạn đang vuốt trên một danh sách? Trong các ô của danh sách hoặc chỉ vuốt qua một chế độ xem? –

+1

cho phép nói rằng tôi có và kích hoạt bằng xml, khi người dùng của tôi ở trong hoạt động/xml anh vuốt sang phải và chuyển đến hoạt động mới – Moussa

Trả lời

10
SimpleOnGestureListener mySimpleGestureListener = new SimpleOnGestureListener() 
{ 

    @Override 
    public boolean onDoubleTap(MotionEvent e) { 
     Logout.debug("onDoubleTap"); 
     return super.onDoubleTap(e); 
    } 

    @Override 
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,float velocityY) 
    { 
     String velocity="onFling: \n" + e1.toString() + "\n" + e2.toString() +"\n" 
       + "velocityX= " + String.valueOf(velocityX) + "\n" 
       + "velocityY= " + String.valueOf(velocityY) + "\n"; 
     Logout.debug("onFling velocity="+velocity); 
        return super.onFling(e1, e2, velocityX, velocityY); 
    } 

    @Override 
    public void onLongPress(MotionEvent e) { 
     Logout.debug("onLongPress: \n" + e.toString()); 
     super.onLongPress(e); 
    } 

    @Override 
    public boolean onSingleTapConfirmed(MotionEvent e) { 
     Logout.debug("onSingleTapConfirmed: \n" + e.toString()); 
     return super.onSingleTapConfirmed(e); 
    } 

    private boolean permissibleYVelocity(float velocityY) 
    { 
     if ((velocityY < -200) || (velocityY > 200)) 
     { 
      return false; 
     } 
     else 
     { 
      return true; 
     } 

    } 
}; 

GestureDetector myGestureDetector = new GestureDetector(mSimpleOnGestureListener); 

View.OnTouchListener mOnListTouchListener = new OnTouchListener() 
{ 
    @Override 
    public boolean onTouch(View view, MotionEvent event) 
    { 
     Logout.debug("list onTouch()"); 
     return myGestureDetector.onTouchEvent(event); 
    } 
}; 
+0

. , tôi chủ yếu nhìn thấy những người nghe và những người yêu thích onTouch – Moussa

+0

Vì vậy, cử chỉ trượt thực sự là một Fling. Vì vậy, nếu velocityX lớn hơn 200 hoặc 300 của nó một swipe phải, miễn là không có quá nhiều YVelocity (Scrolling). Vì vậy, tôi có yVelocityCheck. Đây là tất cả những gì bạn cần. –

+0

ohhhhh ok cho tôi xem nếu nó hoạt động, cảm ơn – Moussa

3

tôi sẽ bắt đầu bằng cách googling một cái gì đó như "cử chỉ swipe cơ bản Android ". Đó là kinda những gì tôi đã làm, và tôi đã kết thúc với bài populare này về đề tài này: Fling gesture detection on grid layout

hit đầu tiên trên google là thế này: http://pcfandroid.wordpress.com/2011/07/17/swipe-with-android-android-tutorial/, cũng áp dụng cho các bạn câu hỏi

+0

Bất kỳ thứ gì được sắp xếp hoặc có mã nguồn, tôi đã tự dạy mình bằng cách đọc mã – Moussa

Các vấn đề liên quan