상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - ViewPager에서 스와이프를 비활성화하려면 어떻게 하나요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
Android의 `ViewPager`에서 스와이프를 비활성화하려면, `ViewPager`의 터치 이벤트를 차단하는 커스텀 클래스를 작성해야 합니다. 기본적인 방법은 `ViewPager`를 상속받아 onTouchEvent 메서드를 재정의하거나, `setOnTouchListener`를 설정하는 것입니다. 아래는 `ViewPager`의 스와이프를 비활성화하기 위한 두 가지 방법입니다. 방법 1: 커스텀 ViewPager 생성 1. `ViewPager`를 상속받는 클래스를 생성합니다. 2. `onTouchEvent`와 `onInterceptTouchEvent` 메서드를 오버라이드하여 터치 이벤트를 처리하지 않도록 합니다. ```java import android.content.Context; import android.util.AttributeSet; import android.view.MotionEvent; import androidx.viewpager.widget.ViewPager; public class NonSwipeableViewPager extends ViewPager { public NonSwipeableViewPager(Context context) { super(context); } public NonSwipeableViewPager(Context context, AttributeSet attrs) { super(context, attrs); } @Override public boolean onInterceptTouchEvent(MotionEvent ev) { // 항상 false를 반환하여 스와이프를 비활성화합니다. return false; } @Override public boolean onTouchEvent(MotionEvent ev) { // 아무런 작업도 하지 않아 터치를 무시합니다. return false; } } ``` 이제 XML 레이아웃 파일에서 `NonSwipeableViewPager`를 사용하면 됩니다. ```xml <your.package.name.NonSwipeableViewPager android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="match_parent" /> ``` 방법 2: setOnTouchListener 사용 또는 기존의 `ViewPager`에 `setOnTouchListener`를 설정하여 터치 이벤트를 무시할 수 있습니다. ```java ViewPager viewPager = findViewById(R.id.viewPager); viewPager.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { // 항상 true를 반환하여 모든 터치 이벤트를 소비합니다. return true; } }); ``` 이 방법을 사용하면 `ViewPager`의 기본 스와이프 기능이 비활성화됩니다. 결론 위의 두 방법 중에서 선택하여 `ViewPager`의 스와이프 기능을 비활성화 할 수 있습니다. 첫 번째 방법은 커스텀 클래스를 작성하여 보다 깔끔한 솔루션을 제공하고, 두 번째 방법은 기존 클래스를 그대로 사용하면서 간단하게 스와이프를 비활성화할 수 있는 방법입니다. 필요에 따라 적절한 방법을 선택해 사용하시면 됩니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기