Android

[Android] ViewPager2 중첩 문제

2022. 8. 12. 19:56
목차
  1. 중첩된 스크롤 가능 요소 지원
반응형

간단한 프로젝트를 진행하면서 처음 activity에 tablayout과 Viewpager2를 같이 사용했다.

그리고 fragment에 광고를 넣기 위해 Viewpager2를 사용했다.

그러자 activity의 viewpager는 움직이지만 fragment의 viewpager는 움직이지 않는 문제가 발생했다.

 

https://developer.android.com/training/animation/vp2-migration#nested-scrollables

 

ViewPager에서 ViewPager2로 이전  |  Android 개발자  |  Android Developers

ViewPager에서 ViewPager2로 이전 ViewPager2는 ViewPager 라이브러리의 개선된 버전으로, 향상된 기능을 제공하며 ViewPager 사용 시 발생하는 일반적인 문제를 해결합니다. 앱에서 ViewPager를 이미 사용하고

developer.android.com

중첩된 스크롤 가능 요소 지원

스크롤 뷰와 이 스크롤 뷰를 포함하는 ViewPager2 객체의 방향이 같은 경우 ViewPager2는 기본적으로 중첩된 스크롤 뷰를 지원하지 않습니다. 예를 들어 세로 방향 ViewPager2 객체 내의 세로 스크롤 뷰에서는 스크롤이 작동하지 않습니다.

방향이 동일한 ViewPager2 객체 내의 스크롤 뷰를 지원하려면 중첩된 요소 스크롤이 예상되는 경우 ViewPager2 객체의 requestDisallowInterceptTouchEvent()를 호출해야 합니다. ViewPager2 중첩 스크롤 샘플은 다목적 맞춤 래퍼 레이아웃을 사용하여 이 문제를 해결하는 한 가지 방법을 보여줍니다.

해결방안

NestedScrollableHost 클래스를 만들고 아래 깃허브의 코드를 그대로 복붙하여 넣었다.

https://github.com/android/views-widgets-samples/blob/master/ViewPager2/app/src/main/java/androidx/viewpager2/integration/testapp/NestedScrollableHost.kt

 

GitHub - android/views-widgets-samples: Multiple samples showing the best practices in views-widgets on Android.

Multiple samples showing the best practices in views-widgets on Android. - GitHub - android/views-widgets-samples: Multiple samples showing the best practices in views-widgets on Android.

github.com

 

그리고 fragment viewpager에 아래와 같이 NestedScrollableHost를 넣으니...

해결

NestedScrolableHost 레이아웃은 스크롤이 가능한 자식 하나만을 가져야 한다는것을 주의 해야한다.

반응형
저작자표시 비영리 변경금지 (새창열림)

'Android' 카테고리의 다른 글

Android - Palette  (0) 2022.11.11
Android - Manifest  (0) 2022.11.02
[Android] 프로젝트 수준의 build.gradle 오류  (0) 2022.08.17
GIF파일 적용 ImageView 적용하기  (0) 2022.07.22
[Android] Fragment 생명주기  (0) 2022.07.03
  1. 중첩된 스크롤 가능 요소 지원
'Android' 카테고리의 다른 글
  • Android - Manifest
  • [Android] 프로젝트 수준의 build.gradle 오류
  • GIF파일 적용 ImageView 적용하기
  • [Android] Fragment 생명주기
yunJaem06
yunJaem06
yunJaem06
비바윤
yunJaem06
전체
오늘
어제
  • 전체 (147)
    • Algorithm (121)
      • [알고리즘]BACKJOON - Java&Kotli.. (98)
      • Java알고리즘 문제풀이 & Kotlin (23)
    • Kotlin (4)
    • Android (17)
    • CS (1)
      • 소프트웨어공학 (1)
      • 운영체제 (0)
      • 컴퓨터구조 (0)
    • 내가 좋아하는 맛집 :) (0)
    • 다시 볼만한 영화 & 드라마 (0)

블로그 메뉴

  • 홈

공지사항

인기 글

태그

  • Kotlin In Action
  • MutableLiveData
  • Kotiln
  • DataBinding
  • kotlin
  • Java
  • 안드로이드
  • 3장
  • splash화면
  • Android
  • 배열
  • 생명주기
  • reversed
  • lottie
  • 캡슐화
  • 알고리즘
  • 중복문자제거
  • 특정 문자 뒤집기
  • AndroidViewModel
  • ViewModelFactory
  • Livedata
  • qr
  • zxing
  • 가위 바위 보
  • ViewModel
  • Lifecycle
  • 코틀린
  • 양방향
  • 라이브러리
  • 1장

최근 댓글

최근 글

hELLO · Designed By 정상우.
yunJaem06
[Android] ViewPager2 중첩 문제
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.