웅쓰뚱쓰
웅쓰의 IT
웅쓰뚱쓰
  • 분류 전체보기 (127)
    • 프로그래밍 (31)
      • 자료구조&알고리즘 (12)
      • Django (1)
      • NAS (3)
      • python (1)
      • Java (2)
      • Kotlin (0)
      • 안드로이드 (0)
      • 백준 (6)
      • 프로그래머스 (1)
      • 블록체인 (4)
    • IT (57)
      • 스마트폰 (30)
      • 모바일 (3)
      • 기타제품 (9)
      • 기타기술 (10)
      • 소식 (5)
    • 꿀팁 (1)
      • 윈도우10 (1)
    • 리얼후기 (4)
      • 제품리뷰 (2)
      • 일상리뷰 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 백준
  • 앱 만들기
  • 안드로이드
  • 블록체인
  • 안드로이드 스튜디오
  • 삼성
  • 동적배열
  • vr
  • LG
  • 아마존
  • 이더리움
  • 패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #Android앱개발올인원패키지Online
  • 블랙프라이데이
  • 폴더블폰
  • 화웨이

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
웅쓰뚱쓰

웅쓰의 IT

안드로이드 - TabLayout [패스트 캠퍼스 챌린지 26일차]
카테고리 없음

안드로이드 - TabLayout [패스트 캠퍼스 챌린지 26일차]

2021. 11. 26. 21:36


 

TabLayout 

 

Tablayout도 gradle에서 추가해줘야 된다

 

implementation 'com.google.android.material:material:1.4.0'

 

Tablayout은

 

tab을 담당하는 TabLayout,

 

화면을 담당하는 ViewPager,

 

Tablayout과 ViewPager를 연결해주는 Adapter로 구성되어 있다

 


 

Tablayout 구현하기

 

xml에 TabLayout, ViewPager를 추가해준다

 

 

먼저 탭을 구현해 보겠다

 

 

결과

 

 


 

이제 뷰 페이저를 구현해 보겠다

 

페이저에 여러 화면을 넣기 위해서는 어댑터를 사용한다

 

페이저를 위한 어댑터를 만들어 주겠다

 

FragmentStateAdapter를 상속받고 FragmentManager와 Lifecycle를 사용해보겠다

 

 

어댑터 안에는 Fragment를 담을 수 있는 리스트를 선언해 주었으며

 

리스트에 Fragment를 추가할 수 있게 add메소드를 추가해 주었다

 

createFragment는 Fragment 하나를 리턴하는 부분이고

 

getItemCount은 전체 개수를 리턴하는 부분이다

 


 

Fragment를 간단하게 2개 만들고

 

어댑터를 이용하여 뷰 페이저를 구현해 주었다

 

 

결과

 

 

화면을 드래그하면 화면이 바뀌지만

 

아직 탭과 연결을 하지 않아서

 

탭을 눌러도 화면이 바뀌지 않고,

화면을 드래그해도 탭이 바뀌지 않는 상태이다

 


 

TabLayout과 뷰페이저 연결

 

간단하게 TabLayoutMediator을 이용하면 된다

 

TabLayoutMediator의 인자로 TabLayout과 뷰페이저를 전달하면 서로 연결된다

 

 

이제 탭을 클릭하면 뷰페이저도 바뀌고

 

뷰페이저를 바꾸면 탭도 바뀐다

 

 

다만 TabLayoutMediator을 사용하게 되면

 

기존 TabLayout에서 만든 탭을 삭제하고 새로 탭을 만들기 때문에

 

이렇게 나중에 탭 이름을 설정해줘야 한다

 


본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

 

https://bit.ly/3FVdhDa

    웅쓰뚱쓰
    웅쓰뚱쓰

    티스토리툴바