AndroidLinearLayout 으로 mytabwidget.xml 생성
<xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
android:id="@+id/icon"
android:src="@drawable/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" />
android:id="@+id/text"
android:text="Caption"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" />
------------------------------------------
TabHost mTabHost = getTabHost();
// Custom View for TabWidget
LayoutInflater layout = getLayoutInflater();
View vTab1 = layout.inflate( R.layout.mytabwidget, null );
View vTab2 = layout.inflate( R.layout.mytabwidget, null );
ImageView icon = (ImageView) vTab1.findViewById(R.id.icon);
ImageView icon = (ImageView) vTab2.findViewById(R.id.icon);
mTabHost.addTab(mTabHost.newTabSpec("tab1").setIndicator(vTab1).setContent(intent));
mTabHost.addTab(mTabHost.newTabSpec("tab2").setIndicator(vTab2).setContent(intent));
위와 같이 LayoutInflater로 View를 생성하고 setIndicator 메소드의 매개변수로 view를 사용하면 기존 안드로이드 탭 모양이 아닌 해당 LayoutInflater로 생성한 View 모양의 tab 화면이 나타난다.
탭을 클릭하여 이미지나 텍스트를 변경하고자 할 때에는 setOnTabChangedListener 를 사용한다.