나는 Activity가 SlidingPaneLayout
이고, 내부에 두 개의 조각이 있습니다. 왼쪽에는 ListView
, 오른쪽에는 MapFragment
입니다. 사용자가 패널을 닫지 않고지도를 이동할 수 있도록 생성 된 터치 이벤트를 가로채는 것은 어떻게 가능합니까?터치 이벤트 차단 SlidingPaneLayout
오른쪽 패널을 닫거나 열 때 사용하려는 유일한 영역은 처음 네 번째입니다. 그 지역의 오른쪽에 나는지도를 옮기고 싶다.
감사
는EDIT2 :이 코드 I로
@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN
&& event.getX() > (getWidth()/6)) {
return false;
}
return super.onTouchEvent(event);
}
:
이좋아, 지금은 제대로 SlidingPaneLayout를 서브 클래 싱하는 방법을 알아 냈어, 지금 문제는 제대로 터치 이벤트를 캡처하는 방법입니다 지도를 슬라이드 할 수 없기 때문에 고정되어 있습니다. 문제는 오른쪽 패널을 선택했을 때 (즉,지도가 표시 될 때만) 터치를 가로 채길 원한다는 것입니다.
그것을 시도하고 당신이 무엇을 가지고 말해이 –
예는 (그것은 나를 오류를 컴파일 할 권리하지만 슈퍼 클래스 개체 참조하기 때문에 라인 super.onTouchEvent (이벤트) 잘못 제공됩니다 " onTouchEvent (MotionEvent) 메서드는 Object 유형에 대해 정의되지 않았습니다. 아마도 SlidingPaneLayout을 확장 한 다음 onInterceptTouchEvent 메서드를 재정의해야합니다 (이전에 ViewPager로이 작업을 시도했지만 효과가있었습니다). 그러나 이제는 SlidingPaneLayout의 올바른 하위 클래스를 만들 수 없습니다. 다른 예외가 있기 때문입니다. . –
오, 미안 나는 SlidingPaneLayout 클래스를 확장하여 자신 만의 SlidingPaneLayout을 만들었다 고 생각했다. 대답을 편집했다. –