ViewPager / Fragment

Hue·2023년 2월 20일
0

Android/Kotlin

목록 보기
9/42

📜 ViewPager

ViewPager 버전 업그레이드 ViewPager2이용
가로/세로 스와이프 가능 --> orientation 필요
ViewPager2는 일반적인 View를 보여줄때 RecylclerView.Adapter사용

북리더, 웹툰 등에서 사용

각각의 page마다 레이아웃의 모양 (view의 종류 및 갯수)이 다를 경우...?

🧩 Fragment

조각, 파편의 의미

ⓐ View처럼 Activity에 놓여질 수 있음

(fragment가 화면에 보여줄 view를 만들어서 리턴해주면 액티비티가 보여줌)

ⓑ Activity같은 특징 : 별도의 xml을 가지고 있고 별도의 java를 가지고 있다!

mainActivity 안에 모든 기능을 작성하면 복잡
--> Tab별로 화면을 구분, 별도의 java파일로 이용하여 기능 분리

서로 다른 xml문서의 id 같아도 괜찮음

한 화면에는 하나의 Activity만 보여줄 수 있으므로 Activity를 하나 더 만드는 것은 불가능

원래 Fragment의 기능은 없었음, 태블릿이 탄생하고 화면에 view가 점점 많아지고 Fragment의 기능이 만들어짐
이후 이 기능을 추가하면서 기존 Activity에서 기능을 수정하기 어려워짐
--> FragmentManager 이용

🌠 Transaction vs Process

  • Transaction : 롤백기능이 있음 (은행 송금과정 등에서 필요)
    가상의 실행이라고 하기도 함, 가상으로 적용하고 있다가 완료가 되면 적용

  • process : 진행과정에 중간에 끊어지면 데이터 손실의 가능성

🔨 ViewPager Adapter

View 보여줄때 = RecylclerView.Adapter
Fragment 보여줄 때 = FragmentStateAdapter

TabLayout과 ViewPager를 연동하기 - 중재자(Mediator) 객체
TabLayoutMediator : 자동으로 pager만큼 tab을 만들어줌

0개의 댓글