默认的tabhost中的tabwidget是放在顶部的,有时需要将TAB移到底部来,这时需要在XML中做些细微的变动,如下:
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent">
- <TabHost
- android:id="@+id/tabhost"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent">
- <FrameLayout
- android:id="@android:id/tabcontent"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:paddingBottom="62px">
- <AnalogClock
- android:id="@+id/tab1"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:layout_centerHorizontal="true" />
- <Button
- android:id="@+id/tab2"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:text="A semi-random button" />
- </FrameLayout>
- <RelativeLayout
- android:layout_width="fill_parent"
- android:layout_height="fill_parent">
- <TabWidget
- android:id="@android:id/tabs"
- android:layout_alignParentBottom="true"
- android:layout_width="fill_parent"
- android:layout_height="60px" />
- </RelativeLayout>
- </TabHost>
- </LinearLayout>
我们将tabWidget放到一个relativeLayout中,然后加上这句android:layout_alignParentBottom="true",代码实现如下
- public class TabTest2 extends Activity {
- public void onCreate(Bundle icicle) {
- super.onCreate(icicle);
- setContentView(R.layout.tabtest2);
- TabHost tabs=(TabHost)findViewById(R.id.tabhost);
- tabs.setup();
- TabHost.TabSpec spec=tabs.newTabSpec("tag1");
- spec.setContent(R.id.tab1);
- spec.setIndicator("Clock");
- tabs.addTab(spec);
- spec=tabs.newTabSpec("tag2");
- spec.setContent(R.id.tab2);
- spec.setIndicator("Button");
- tabs.addTab(spec);
- tabs.setCurrentTab(0);
- }
- }
这样就可以把tab置于页面底部了,其实跟上次讲的LinearLayout的buttonBar样式有点类似