2013-08-23 3 views
2

내가 왼쪽으로 슬라이딩 메뉴를 사용하고 있습니다 : 나는 여러 이미지를로드ViewPager 및 슬라이딩 메뉴 슬쩍 전파

<android.support.v4.view.ViewPager 
     android:id="@+id/image_pager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 

: 활동 중 하나 내부 https://github.com/jfeinstein10/SlidingMenu

, 나는 ViewPager이 어댑터에서 호출기를보고 스크롤하십시오.

그러나 스크롤 할 때 충돌이 있습니다.

왼쪽으로 스 와이프하면 모든 것이 정상적으로 작동하고 다음 이미지가 표시됩니다.

하지만 오른쪽으로 스 와이프하면 슬라이딩 메뉴가 열립니다.

보기 호출기에서 스 와이프하여 슬라이딩 메뉴로 전파하지 않도록 할 수 있습니까?

호출기의 OnTouchListener에서 true를 반환하려고 시도했지만 슬라이딩 메뉴가 여전히 열려 있고 슬라이더가 더 이상 작동하지 않습니다. 그것은 단지 화면의 가장자리에서 시작 제스처에 반응 있도록 도움

답변

4

검사 허용 대답 here

파인 스타 인 slidingmenu에 대한

  viewPager.setOnTouchListener(new OnTouchListener() { 

     @Override 
     public boolean onTouch(View v, MotionEvent event) { 
      // TODO Auto-generated method stub 
      return true; 
     } 
    }); 

덕분에 구성 할 수 있습니다. 이렇게하면 다른 핸들러가 화면의 가장 자리에 있지 않은 곳에서 시작된 단독 위임자가 될 수 있습니다. 당신 ViewPager에 대한

세트 OnTouchListener 및 ACTION_DOWN에 SlidingMenu을 사용하지 않도록 ACTION_UP에 SlidingMenu 수 있도록 :

난 당신이 내가 더 나은 솔루션을

1

"클래스 BaseActivity이 SlidingFragmentActivity를 확장"에서 다음을 설정할 수 있다고 생각 및 ACTION_CANCEL.

ViewPager mPager; 

// Find your SlidingMenu here. 
SlidingMenu mSlidingMenu; 

mPager.setOnTouchListener(new View.OnTouchListener() { 
    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
     switch (event.getAction()) { 
       case MotionEvent.ACTION_DOWN: 
        mSlidingMenu.setSlidingEnabled(false); 
        break; 
       case MotionEvent.ACTION_UP: 
       case MotionEvent.ACTION_CANCEL: 
        mSlidingMenu.setSlidingEnabled(true); 
        break; 
     } 
     return false; 
    } 
} 
: 여기

코드입니다