차근차근/Android

안드로이드 탭

예쁜꽃이피었으면 2014. 10. 15. 15:34

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객체를 탭호스트에 넣는다.

반응형