blueskyhk 2011-03-25
默认的tabhost中的tabwidget是放在顶部的,有时需要将TAB移到底部来,这时需要在XML中做些细微的变动,如下:
viewplaincopytoclipboardprint?
01.<?xmlversion="1.0"encoding="utf-8"?>
02.<LinearLayout
03.xmlns:android="http://schemas.android.com/apk/res/android"
04.android:orientation="vertical"
05.android:layout_width="fill_parent"
06.android:layout_height="fill_parent">
07.<TabHost
08.android:id="@+id/tabhost"
09.android:layout_width="fill_parent"
10.android:layout_height="fill_parent">
11.<FrameLayout
12.android:id="@android:id/tabcontent"
13.android:layout_width="fill_parent"
14.android:layout_height="fill_parent"
15.android:paddingBottom="62px">
16.<AnalogClock
17.android:id="@+id/tab1"
18.android:layout_width="fill_parent"
19.android:layout_height="fill_parent"
20.android:layout_centerHorizontal="true"/>
21.<Button
22.android:id="@+id/tab2"
23.android:layout_width="fill_parent"
24.android:layout_height="fill_parent"
25.android:text="Asemi-randombutton"/>
26.</FrameLayout>
27.<RelativeLayout
28.android:layout_width="fill_parent"
29.android:layout_height="fill_parent">
30.<TabWidget
31.android:id="@android:id/tabs"
32.android:layout_alignParentBottom="true"
33.android:layout_width="fill_parent"
34.android:layout_height="60px"/>
35.</RelativeLayout>
36.</TabHost>
37.</LinearLayout>
<?xmlversion="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="Asemi-randombutton"/>
</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",代码实现如下
viewplaincopytoclipboardprint?
01.publicclassTabTest2extendsActivity{
02.publicvoidonCreate(Bundleicicle){
03.super.onCreate(icicle);
04.setContentView(R.layout.tabtest2);
05.TabHosttabs=(TabHost)findViewById(R.id.tabhost);
06.
07.tabs.setup();
08.
09.TabHost.TabSpecspec=tabs.newTabSpec("tag1");
10.spec.setContent(R.id.tab1);
11.spec.setIndicator("Clock");
12.tabs.addTab(spec);
13.
14.spec=tabs.newTabSpec("tag2");
15.spec.setContent(R.id.tab2);
16.spec.setIndicator("Button");
17.tabs.addTab(spec);
18.
19.tabs.setCurrentTab(0);
20.}
21.}
publicclassTabTest2extendsActivity{
publicvoidonCreate(Bundleicicle){
super.onCreate(icicle);
setContentView(R.layout.tabtest2);
TabHosttabs=(TabHost)findViewById(R.id.tabhost);
tabs.setup();
TabHost.TabSpecspec=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样式有点类似
转载地址:http://blog.csdn.net/roadog2006/archive/2010/04/12/5475549.aspx