Android

[Android] ViewPager2에 관련된 속성들

도우 2024. 5. 3. 18:08
반응형

ViewPager2를 이용해서 이미지 슬라이드를 만들다 보면 다양한 속성들이 필요하다.

 

clipToPadding : ViewHolder에서 슬라이딩 시 설정된 패딩 값을 무시하고 뷰가 보여지게 한다.
clipChildren : 부모 뷰가 자신에게 할당된 영역 외에 다른 영역으로 확장되어 보여질 수 있게 한다.
offscreenPageLimit : 슬라이드 시 앞뒤 페이지 데이터를 미리 로드한다.
setpageTransformer : 페이지 간 간격을 커스텀 변환을 통해 설정한다. => 페이지 전환 시 효과를 주는 데 사용
setPadding : 설정된 패딩 값이 커질수록 뷰가 서로의 영역에 침범하는 범위가 넓어진다.

orientation : ViewPager2의 페이지 스크롤 방향을 수평 또는 수직으로 설정한다.
UserInputEnabled : 사용자의 입력을 통한 페이지 스크롤 활성화 또는 비활성화를 설정한다.
setCurrentItem : 특정 페이지로 이동할 때 사용한다. 
registerOnPageChangeCallback : 페이지 변경 이벤트를 감지하기 위해 콜백을 등록한다.
itemDecoration : 페이지 간의 간격을 조절하거나 시각적 구분을 위해 사용된다.
Accessibility : 접근성 강화를 위해 스크린 리더와 호환된다.

 

아래는 ViewPager2를 구현하면서 사용한 속성이다.

// clipToPadding이 false로 설정된 경우, 스크롤 가능한 뷰(RecyclerView, ViewPager2)에서
// 스크롤이 발생할 때 패딩 부분을 넘어서 콘텐츠가 보이게 한다.
viewPager.setClipToPadding(false);
 
viewPager.setClipChildren(false); // 자식 뷰가 ViewPager2의 경계를 벗어나도 그려짐

viewPager.setPadding(0, 0, padding, 0); //padding을 설정합니다.

viewPager.setPageTransformer(new MarginPageTransformer(pageMargin)); // 페이지 간의 마진을 설정하고

viewPager.setOffscreenPageLimit(offscreenPageLimit); // 미리 로드할 페이지 -> 속도 빨라짐

 

 

결과물

 

반응형