android 底部tab

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

相关推荐