http://promobile.tistory.com/183
정리가 잘 되어 있다.
안드로이드에서 제공하는 tab은 탭별로 서로 다른 화면을 열 수 있다.
- TabHost : 탭지시자와 탭 내용물을 포함하는 탭의 컨테이너를 의미한다
- Indicator : 탭을 두분하는 작은 박스를 말한다. 개별 탭은 각각 고유한 이름과 아이콘(옵션)을 갖게 된다.
XML요소는 TabWidget이라고 표현한다.
- Content는 선택된 탭에 대한 내용을 표시하는 화면이 된다. XML문서로 표시할 때는 보통 프레임 레이아웃으로 명시한다.
TabActivity클래스를 이용한 동적이 구성
1) TabHost 객체 생성
: TabHost 객체는 TabActivity클래스 내 getTabHost()메서드를 사용하여 생성한다. TabActivity클래스는 안드로이드 탭을 만들기 위한 전용 액티비티 클래스 이다.
2) TabHost , TabSpec클래스의 인스턴스를 만든다.
: TabHost , TabSpec클래스는 개별적인 탭의 지시자와 내용물을 만드는 기능을 제공한다. TabHost , TabSpec클래스는 특이하게 자체 생성자를 제공하지 않으면, TabHost 클래스에서 제공하는 new TabSpec(String tag)메서드를 사용하여 생성한다. 생성된 TabHost , TabSpec객체는 newTabSpec()메서드와 함께 입력하는 문자열의 매개 변수로 구분하게 된다.
3) 탭의 지시자와 내용물을 만든다.
: 탭의 지시자와 내용물을 TabHost , TabSpec클래스에서 제공하는 각각 3종류의 setIndicator() 메서드와 setContent()메서드를 사용하여 제작한다
- setIndicator(CharSequence label , Drawable icon)
: 탭의 지시자로 라벨과 아이콘을 지정한다.
- setIndicator(View view)
: 탭의 지시자로 뷰를 지정한다.
- setIndicator(CharSequence label)
: 라벨을 지정한다.
- setConten(TabHost , TabContentFactory contentFactory)
: 탭의 내용물을 생성시킬 TabHost.TabContentFactory객체를 지정한다.
- setContent(int viewId)
: 탭의 내용물은 XML문서의 뷰를 사용한다.
- setContent(Intent intent)
: 인텐트를 이용하여 다른 액티비티를 호출한다.
4) 지시자와 내용물을 탭 호스트에 넣는다
TabHost클래스에서 제공하는 addTab(TabHost , TabSpec tabSpec) 메서드를 사용하여 생성된 TabHost , TabSpec객체를 탭호스트에 넣는다.
'차근차근 > Android' 카테고리의 다른 글
항상 최상위에 나오는 뷰 만들기. (0) | 2014.10.17 |
---|---|
tabactivity 대체 (0) | 2014.10.16 |
태스크 , 어피니티 , 플래그 (0) | 2014.10.15 |
requestWindowFeature(Window.FEATURE_NO_TITLE); (0) | 2014.10.15 |
onCreate(Bundle savedInstanceState) (0) | 2014.10.15 |