第一种:继承TabActivity,从TabActivity中用getTabHost()方法获取TabHost。只要定义具体Tab内容布局就行了.
xml布局:
第二种:不用继承TabActivity,在布局文件中定义TabHost即可,但是TabWidget的id必须是
@android:id/tabs,FrameLayout的id必须是@android:id/tabcontent。TabHost的id可以自定义.
xml布局:
xml布局:
- <FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android" -
android:layout_width="fill_parent" android:layout_height="fill_parent"> -
<LinearLayout android:id="@+id/widget_layout_Blue" -
android:layout_width="fill_parent" android:layout_height="fill_parent" -
android:orientation="vertical" > -
<EditText android:id="@+id/widget34" android:layout_width="fill_parent" -
android:layout_height="wrap_content" android:text="EditText" -
android:textSize="18sp"> -
</EditText> -
<Button android:id="@+id/widget30" android:layout_width="wrap_content" -
android:layout_height="wrap_content" android:text="Button"> -
</Button> -
</LinearLayout> -
<LinearLayout android:id="@+id/widget_layout_red" -
android:layout_width="fill_parent" android:layout_height="fill_parent" -
android:orientation="vertical" > -
<AnalogClock android:id="@+id/widget36" -
android:layout_width="wrap_content" android:layout_height="wrap_content"> -
</AnalogClock> -
</LinearLayout> -
<LinearLayout android:id="@+id/widget_layout_green" -
android:layout_width="fill_parent" android:layout_height="fill_parent" -
android:orientation="vertical"> -
<RadioGroup android:id="@+id/widget43" -
android:layout_width="166px" android:layout_height="98px" -
android:orientation="vertical"> -
<RadioButton android:id="@+id/widget44" -
android:layout_width="wrap_content" android:layout_height="wrap_content" -
android:text="RadioButton"> -
</RadioButton> -
<RadioButton android:id="@+id/widget45" -
android:layout_width="wrap_content" android:layout_height="wrap_content" -
android:text="RadioButton"> -
</RadioButton> -
</RadioGroup> -
</LinearLayout> - </FrameLayout>
-
- java代码:
- super.onCreate(savedInstanceState);
-
myTabhost=this.getTabHost(); -
//get Tabhost -
LayoutInflater.from(this).inflate(R.layout.main, myTabhost.getTabContentView(), true); -
myTabhost.setBackgroundColor(Color.argb(150, 22, 70, 150)); -
-
myTabhost -
.addTab(myTabhost.newTabSpec("One")// make a new Tab -
.setIndicator("A") -
// set the Title and Icon -
.setContent(R.id.widget_layout_Blue)); -
// set the layout -
-
myTabhost -
.addTab(myTabhost.newTabSpec("Two")// make a new Tab -
.setIndicator("B", -
getResources().getDrawable(R.drawable.mumule)) -
// set the Title and Icon -
.setContent(R.id.widget_layout_green)); -
// set the layout -
-
myTabhost -
.addTab(myTabhost.newTabSpec("Three")// make a new Tab -
.setIndicator("C", -
getResources().getDrawable(R.drawable.notepad)) -
// set the Title and Icon -
.setContent(R.id.widget_layout_red));
第二种:不用继承TabActivity,在布局文件中定义TabHost即可,但是TabWidget的id必须是
@android:id/tabs,FrameLayout的id必须是@android:id/tabcontent。TabHost的id可以自定义.
xml布局:
- <?xml
version="1.0" encoding="utf-8"?> - <LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android" -
android:id="@+id/hometabs" -
android:orientation="vertical" -
android:layout_width="fill_parent" -
android:layout_height="fill_parent"> -
<TabHost android:id="@+id/tabhost" -
android:layout_width="wrap_content" -
android:layout_height="wrap_content"> -
<LinearLayout -
android:orientation="vertical" -
android:layout_width="fill_parent" -
android:layout_height="fill_parent"> -
-
<TabWidget android:id="@android:id/tabs" -
android:orientation="horizontal" -
android:layout_width="wrap_content" -
android:layout_height="wrap_content"> -
</TabWidget> -
-
<FrameLayout android:id="@android:id/tabcontent" -
android:layout_width="wrap_content" -
android:layout_height="wrap_content"> -
<TextView android:id="@+id/view1" -
android:layout_width="fill_parent" -
android:layout_height="fill_parent"/> -
<TextView android:id="@+id/view2" -
android:layout_width="fill_parent" -
android:layout_height="fill_parent"/> -
<TextView android:id="@+id/view3" -
android:layout_width="fill_parent" -
android:layout_height="fill_parent"/> -
</FrameLayout> -
-
</LinearLayout> -
</TabHost> - </LinearLayout>
-
- java代码:
- protected
void onCreate(Bundle savedInstanceState) { -
super.onCreate(savedInstanceState); -
setContentView(R.layout.hometabs); -
-
TabHost tabHost = (TabHost) findViewById(R.id.tabhost); -
tabHost.setup(); -
TabWidget tabWidget = tabHost.getTabWidget(); -
-
tabHost.addTab(tabHost.newTabSpec("tab1") -
.setIndicator("tab1", getResources().getDrawable(R.drawable.mumule)) -
.setContent(R.id.view1)); -
-
tabHost.addTab(tabHost.newTabSpec("tab3") -
.setIndicator("tab3") -
.setContent(R.id.view3)); -
-
tabHost.addTab(tabHost.newTabSpec("tab2") -
.setIndicator("tab2") -
.setContent(R.id.view2)); -
-
final int tabs = tabWidget.getChildCount(); -
Log.i(TAG, "***tabWidget.getChildCount() : " + tabs); -
-
final int tabWidth = 90; -
final int tabHeight = 45; -
-
for (int i = 0; i < tabs; i++) { -
-
} -
}