Tab 의 구성
Andtorid 의 Tab 은 3가지 요소로 구성되어 있다.
- Tab Host : 전체 Tab 을 구성하는 Tab Widget 와 FrameLayout 을 포함 하는 컨테이너
- Tab Widget : Tab 버튼을 담고 있는 컨테이너
- FrameLayout : Tab 버튼에 따라 보여질 내용을 담고 있는 컨테이너
TabActivity상속 받아 Activity를 구현 할 때(Tab 자체가 Activity의 main 화면일 때) TabHost의 id는 항상 "@android:id/tabhost"로 설정 하여야 한다.
Tab Widget 는 아이콘과 텍스트로 구성이 되는데 ID는 항상 "@android:id/tabs" 이어야 하며 텍스트만으로 구성이 되더라도 최소 높이가 62px 이다.
Tab Widget
FrameLayout 은 TabHost 에 포함되는 컨테이너로 TabHost 내의 좌상단(0,0)에서 그려지게 되는데 TabHost 의 상단에는 Tab Widget가 표현되고 있어 Tab Widget을 가리게 된다. 따라서 가려지는 일을 피하려면 Tab Widget 높이 만큼 FrameLayout 의 padding-top 을 설정해 주어야 한다.
FrameLayout 의 padding-top 이 0px 인 경우
탭 생성하는 절차
- findViewById 로 xml 리소스에서 Tab 가져오기
- setup() 함수 호출
- TabHost.TabSpec 객체를 활용하여 탭을 구성하고 추가하기
- 활성화할 Tab 인데스 지정
main.xml
java source