先說布局檔案,如下:利用android:layout_alignParentBottom="true" 實現底部顯示
1 <?xml version="1.0" encoding="utf-8"?> 2 <TabHost xmlns:android="http://schemas.android.com/apk/res/android" 3 android:id="@android:id/tabhost" 4 android:orientation="vertical" 5 android:layout_width="fill_parent" 6 android:layout_height="fill_parent"> 7 <RelativeLayout 8 android:background="@drawable/g" 9 android:layout_width="fill_parent"10 android:layout_height="fill_parent">11 <TabWidget android:id="@android:id/tabs"12 android:layout_width="fill_parent"13 android:layout_height="wrap_content"14 android:layout_alignParentBottom="true">15 </TabWidget>16 <FrameLayout android:id="@android:id/tabcontent"17 android:layout_width="fill_parent"18 android:layout_height="fill_parent">19 <RelativeLayout android:id="@+id/tabFirst"20 android:layout_width="fill_parent"21 android:layout_height="fill_parent"22 android:orientation="vertical">23 <AnalogClock24 android:id="@+id/widget31"25 android:layout_width="wrap_content"26 android:layout_height="wrap_content"27 android:layout_centerInParent="true">28 </AnalogClock>29 </RelativeLayout>>30 <RelativeLayout android:id="@+id/tabSecond"31 android:layout_width="fill_parent"32 android:layout_height="fill_parent"33 android:orientation="vertical">34 <DigitalClock35 android:layout_centerInParent="true"36 android:layout_width="wrap_content"37 android:layout_height="wrap_content">38 </DigitalClock>39 </RelativeLayout>40 </FrameLayout>41 </RelativeLayout>42 </TabHost>
下面是主程式碼,注釋寫的比較詳細,這裡就不在多解釋了
1 package com.cloay; 2 3 import android.app.TabActivity; 4 import android.graphics.Color; 5 import android.os.Bundle; 6 import android.widget.TabHost; 7 import android.widget.TabHost.OnTabChangeListener; 8 import android.widget.Toast; 9 10 public class TabTestActivity extends TabActivity {11 TabHost tabHost;12 @Override13 public void onCreate(Bundle savedInstanceState) {14 super.onCreate(savedInstanceState);15 setContentView(R.layout.main);16 //擷取TabHost對象17 tabHost = getTabHost(); 18 // tabHost.setup();19 //建立一個newTabSpec,設定標籤和表徵圖(setIndicator),設定內容(setContent)20 tabHost.addTab(tabHost.newTabSpec("Test one").setIndicator("",getResources().getDrawable(android.R.drawable.ic_menu_call)).setContent(R.id.tabFirst));21 tabHost.addTab(tabHost.newTabSpec("Test two").setIndicator("",getResources().getDrawable(android.R.drawable.ic_menu_camera)).setContent(R.id.tabSecond));22 //設定TabHost的背景顏色23 tabHost.setBackgroundColor(Color.argb(150,22,70,150));24 //設定TabHost的背景圖片資源25 // tabHost.setBackgroundResource(R.drawable.bg);26 //設定當前現實哪一個標籤27 tabHost.setCurrentTab(0); //0為標籤ID28 //標籤切換處理,用setOnTabChangedListener 29 tabHost.setOnTabChangedListener(new OnTabChangeListener(){30 public void onTabChanged(String tabId){31 Toast.makeText(TabTestActivity.this, "This is a Test!", Toast.LENGTH_LONG).show();32 }33 });34 }35 }