[Doit! 안드로이드 앱 프로그래밍] ViewPager & 바로가기메뉴 만들기
참고서적: Doit 안드로이드 앱 프로그래밍
View Pager
ViewPager 클래스는 손가락을 좌우로 움직여 스크롤할수있는 View 를 제공한다.
Viewpager 역시 fragment를 응용하는 클래스로, 메인container 와 viewpager를 구성한뒤 메인 container에 fragment들을 구성시켜 좌우스크롤로 전환하는 UI를 구성할수있다.
ViewPager는 Adapter를 필요로하는데, 내부클래스를 새로만들어 FragmentStatePagerAdapter 클래스를 상속받도록하여 구현하면 된다.
이 Adapter 클래스 내부에는 ArrayList로 fragment들을 담아 구성한다.
반드시 구현해야하는 메소드가 두가지가있다.
- getCount() : ArrayList의 size() 메소드를 호출하여 개수를 반환하는 메소드
- getITem(): 정수값하나를 파라미터로 받아 ArrayList의 인덱스에 참조하여 해당하는 Fragment를 리턴하는 메소드
외에도 AddItem() 메소드를 하나만들어서 ArrayList에 Fragment를 추가하는 메소드도 만들어보자.
또한, PagerTitleStrip로 전체 Fragment 들중에 몇번째 것인지, 전체개수 들을 UI상에 보여줄수있다.
더불어 TabStrip도있는데, 이것은 탭모양으로 아이템을 구분하여 보여준다.
바로가기 메뉴 만들기
바로가기 메뉴는 흔히 햄버거모양의 아이콘을 눌러 좌 또는 우에서 서랍과같은 추가적인 메뉴화면을 말한다.
빠르게 메뉴기능에 접근할수있어 흔히사용되는 UI구성 방식이다.
바로가기메뉴는 NavigationView 를 이용하여 구현할수있다.
- 최상단 부모컨테이너를 DrawerLayout으로 구성한다.
- NavigationView의 layout_gravity 속성을 DrawerLayout의 openDrawer 속성와 같게한다.
- AppbarLayout의 toolbarLayout을 구성한다
- ActionBarDrawerToggle 클래스를 이용하여 DrawerLayout클래스의 addDrawerListener에 toggle을 등록한다.
- toggle.syncState() 를 호출하여 toggle상태를 활성화한다.
위의 순서로 바로가기메뉴를 구현할수있다.
또한, 미리만들어진 프로젝트를 이용할수도 있다.
모든 예제소스코드는 깃허브주소 에 있다.
댓글남기기