나는 캘린더가 있으며 왼쪽/오른쪽으로 스 와이프하고 개월을 전환 할 수있게하려고합니다.
왼쪽/오른쪽으로 스 와이프 할 청취자가 있습니까?
감사합니다.왼쪽/오른쪽으로 스 와이프 이벤트
답변
할 수 있습니다 사용자 아래의 예와 같이 SimpleOnGestureListener
:
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;
}
}
그런 다음 당신이보기에 첨부 (분명, 이전/다음 달 이동 실제 코드로 토스트를 대체)
// Do this for each view added to the grid
view.setOnClickListener(SelectFilterActivity.this);
view.setOnTouchListener(gestureListener);
이 작동하지 않습니다. 'gridview.setOnClickListener (SelectFilterActivity.this)' 오류 : '타입 SelectFilterActivity의 어떠한 둘러싸는 인스턴스 범위에 액세스 할 수 없습니다 '와 다른 오류 'gridview.setOnTouchListener (gestureListener하는)'는 오류 : 는'gestureListener 될 수 없습니다 변수로 해석 됨 ' –
특정 상황에 맞게 수정해야하며, 전체 솔루션을 코딩하는 데 필요한 세부 정보를 제공하지 않았습니다. 중요한 부분은 MyGestureDetector 클래스입니다. 어떤 식 으로든보기에 연결해야합니다. – Guillaume
SimpleOngestureListener는 onFling을 catch 할 수 있습니다. 이것을 무시하면 스 와이프를 포착 할 수 있습니다.
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) {
//do your stuff
} else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
//do your stuff
}
} catch (Exception e)
{
// nothing
}
return false;
}
같은 스레드의 다른 답변 코드를 복사하지 않습니다 ... –
우리는 ...? 하지만 감사합니다. 나는 잠시 동안이 코드를 사용 해왔다. 은 다른 사람들도 그렇게 할 수있다. – ron
- 1. jQuery에서 스 와이프 이벤트
- 2. html5 스 와이프 이벤트
- 3. 클릭 스 와이프 이벤트 jquery
- 4. JQtouch 스 와이프 이벤트/회전식 슬라이드
- 5. jQuery 모바일 : 스크롤보기 및 스 와이프 이벤트
- 6. live()에서 작동하는 스 와이프 이벤트?
- 7. jQuery/jQuery 모바일 탭/스 와이프 이벤트
- 8. Appcelerator TableViewRow 스 와이프
- 9. 터치 장치에서 스 와이프 처리
- 10. 스 와이프 중에 스 와이프를 왼쪽으로 캡처합니까?
- 11. iOS - 스 와이프 W/스 와이프 속도의 어드밴스 애니메이션
- 12. 제스처가있는 뷰를 스 와이프
- 13. UITextView 스 와이프 제스처
- 14. Android 스 와이프 이미지
- 15. Tableviewcell에서 스 와이프
- 16. 스 와이프 이벤트가있는 목록
- 17. UIScrollView의 가로 스 와이프
- 18. 안드로이드의 스 와이프 페이지
- 19. Android에서 활동 스 와이프
- 20. 액티비티 사이를 스 와이프?
- 21. UIView : 터치 : 스 와이프?
- 22. 모노 도이드 스 와이프
- 23. 하나의보기에서 다음보기로 스 와이프
- 24. UINavigationBar의 스 와이프 감지
- 25. 액티비티간에 스 와이프
- 26. XIB간에 스 와이프
- 27. UISwipeGestureRecognizer 스 와이프 거리
- 28. android에서 이미지 스 와이프
- 29. 스 와이프 기반 탐색
- 30. 스 와이프 버튼 만들기
은이 질문은 여기에 구체적으로 대답한다 : 는 http://stackoverflow.com/questions/937313/android-basic-gesture-detection –