您好,登錄后才能下訂單哦!
TabHost是一種非常使用的組件,TabHost可以方便的在窗口上放置多個標簽頁,每個標簽頁相當于或得了一個與外部容器相同大小的組件擺放區域。
與TabHost 結合使用的組件
TabWidget:代表選項卡的標簽條。
TabSpec:代表選項卡的一個Tab頁面。
創建添加選項卡的方法:
newTabSpec():創建選項卡
addTab():添加選項卡
使用TabHost的步驟:
在界面布局中定義TabHost組件
Activity繼承TabActivity
調用TabActivity的getTabHost()方法獲取TabHost
通過TabHost對象的方法來創建添加選項卡。
如果程序需要監控TabHost里當前標簽頁的改變,可以為他設置TabHost.onTabChangeListener 的監聽器。
實例:1
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="毓璜頂小學" android:textSize="20sp" /> </LinearLayout> <TabHost android:layout_width="match_parent" android:layout_height="match_parent" android:id="@android:id/tabhost" android:layout_weight="1" ><!--引用android系統已有的id--> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TabWidget android:id="@android:id/tabs" android:layout_width="match_parent" android:layout_height="wrap_content"></TabWidget> <FrameLayout android:id="@android:id/tabcontent" android:layout_width="match_parent" android:layout_height="match_parent"> <!--定義第一個標簽頁的內容--> <LinearLayout android:id="@+id/tab01" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="消息頁面" android:textSize="30sp" /> </LinearLayout> <LinearLayout android:id="@+id/tab02" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="班級頁面" android:textSize="30sp" /> </LinearLayout> <LinearLayout android:id="@+id/tab03" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="我的頁面" android:textSize="30sp" /> </LinearLayout> </FrameLayout> </LinearLayout> </TabHost> </LinearLayout>
注意:
android:id="@android:id/tabhost" android:id="@android:id/tabs" android:id="@android:id/tabcontent" 引用android系統已有的id
public class MainActivity extends TabActivity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main_activity); //獲取tabhost組件 TabHost tabHost=getTabHost(); //創建第一個Tab頁 TabHost.TabSpec tab1=tabHost.newTabSpec("tab1") .setIndicator("班級")//設置標題 .setContent(R.id.tab01); //添加第一個tab頁 tabHost.addTab(tab1); TabHost.TabSpec tab2=tabHost.newTabSpec("tab2") .setIndicator("消息")//設置標題 .setContent(R.id.tab02); //添加第一個tab頁 tabHost.addTab(tab2); TabHost.TabSpec tab3=tabHost.newTabSpec("tab3") .setIndicator("我")//設置標題 .setContent(R.id.tab03); //添加第一個tab頁 tabHost.addTab(tab3); } }
注意:最新版本的Android推薦使用Fragment 代替TabActivity
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。