오랜만에 하는 안드로이드 개발이라 스와이프 가능한 탭 메뉴를 만들기 위해 안드로이드 개발자 페이지를 찾아볼 수 밖에 없었다. 그런데 프로젝트를 만드는 도중 이를 안드로이드 스튜디오에서 샘플 코드로 제공한다는 것을 뒤늦게 알아버렸다...

 

 

  예제 코드를 이용해 스와이프 가능한 액션바 탭 만들기 (ViewPager와 Fragment 이용)

 

먼저 새 프로젝트 생성 창을 띄우고 앱 이름과, 도메인 등을 결정하고 액티비티 생성 페이지로 넘어간다.

 


Tabbed Activity를 선택하고 Navigation StyleAction Bar Tabs (with ViewPager)로 설정한다.




위와 같이 설정하면 액션바 아래에 3개의 탭을 갖는 초기 화면이 만들어진다. 이제 여기서 만들고자하는 앱에 맞게 불필요한 부분들을 제거하거나 수정해주면 된다. 나의 경우 타이틀 바와 탭 하나 등을 제거하였다.






  타이틀 바 제거하기


activity_main.xml 에서 Toolbar 코드를 제거한다. 마찬가지로, MainActivity.java 에서도 Toolbar 관련 코드를 제거해준다. 그리고 불필요해진 onCreateOptionsMenu 함수와 onOptionsItemSelected 함수도 제거해준다.





  실제 이용할 Fragment로 기존 Fragment 대체하기


예제 코드에서는 탭이 변경될 때마다 구성이 같은 프래그먼트를 보여준다. 나는 두 개의 화면이 필요해서 PlaceholderFragment 클래스를 삭제하고 새로운 프래그먼트 2개와 그 레이아웃을 만들었다. 그리고 SectionPagerAdapter getItem 함수를 새로 만든 프래그먼트의 인스턴스를 반환하도록 수정한다.




  결과 화면


타이틀 바를 제거하고 탭을 2개로 줄인 결과 화면. 이제 각각의 탭에 들어가는 프래그먼트에 기능만 구현해주면 된다.




+ Recent posts