본문 바로가기
안드로이드

[Android] 뷰페이저 페이지 스크롤 막는방법

by 코딩히어로 2023. 5. 19.
728x90

 

뷰페이저를 통해 화면을 구현하게 되면 페이지를 넘길 때 레이아웃이 이어져서

자연스럽게 넘어가는 모션의 구현이 가능합니다

 

하지만 어플의 컨셉에 따라서는 이러한 모션은 사용하지만 사용자에 의해

넘김 동작을 하지는 못하게 하고 메뉴바의 버튼 터치로 넘겨야 하는 경우가 있습니다

이번 포스팅에서는 이러한 뷰페이저의 드래그 액션을 막는 방법에 대해 알아보겠습니다

 

먼저 ViewPager의 사용의 경우 다음과 같이 드래그 기능을 막을 수 있습니다

ViewPager pager = new ViewPager(context) {
    @Override
    public boolean onTouchEvent(MotionEvent event) {
        // 넘기기 이벤트를 무시
        return false;
    }

    @Override
    public boolean onInterceptTouchEvent(MotionEvent event) {
        // 넘기기 이벤트를 무시
        return false;
    }
};

 

요즘은 ViewPager보다는 한층 업그레이드 된 ViewPager2를 많이 사용하는데

ViewPager2의 경우에는 단 한줄로 드래그 액션을 막을 수 있어서 간단합니다

viewPager2.setUserInputEnabled(false);

 

728x90
반응형

댓글