Android: viewPager2 내부 요소의 스크롤 처리

yxnsx·2021년 1월 21일
0

Dev: Android

목록 보기
5/8
post-thumbnail

NestedScrollableHost

viewPager2와 그 내부 요소의 스크롤 방향이 같을 때, 스크롤이 혼선되는 경우가 있다.
이 때 자식 뷰가 우선적으로 스크롤을 인식할 수 있도록 하기 위해 사용하는 것이 NestedScrollableHost이다.


NestedScrollableHost 사용 방법

  • Android github - NestedScrollableHost
  • 작업 중인 프로젝트에 위 링크의 NestedScrollableHost.kt를 추가한 후, 레이아웃 xml 파일에서 <NestedScrollableHost> 태그를 이용해 적용하고자 하는 요소를 감싸준다!
  • 이 때, 해당 요소는 ViewPager2의 바로 아래에 위치한 유일한 자식이어야 한다.
   <com.example.momo_android.util.ui.NestedScrollableHost
       android:id="@+id/nestedScrollableHost"
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       app:layout_constraintBottom_toBottomOf="parent"
       app:layout_constraintEnd_toEndOf="parent"
       app:layout_constraintStart_toStartOf="parent"
       app:layout_constraintTop_toTopOf="parent">

       <androidx.recyclerview.widget.RecyclerView
           android:id="@+id/recyclerView_gradient"
           android:layout_width="match_parent"
           android:layout_height="match_parent"
           android:overScrollMode="never"
           tools:listitem="@layout/item_scroll_gradient" />

   </com.example.momo_android.util.ui.NestedScrollableHost>


📝 References

0개의 댓글