標籤在操作欄方便使用者去探索,在你的應用程式在不同視圖之間切換。ActionBar提供的標籤是最理想的選擇,因為他們適應不同的螢幕尺寸。一旦你確定了Fragment出現在布局裡,添加標籤的步驟如下:一:繼承ActionBar.TabListener介面,控制哪個標籤被選中,進而切換布局;二:對於每一個您想要添加標籤,執行個體化一個ActionBar,選項卡調用setTabListener TabListener(),此外還可設定標籤的標題和的setText()(和一個表徵圖setIcon())等等;三:addTab();
MainActivity的原始碼如下
package com.example.f19_fragment07;import android.os.Bundle;import android.app.ActionBar;import android.app.ActionBar.Tab;import android.app.ActionBar.TabListener;import android.app.Activity;import android.app.FragmentTransaction;public class MainActivity extends Activity implements TabListener {private ActionBar actionBar;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);actionBar = getActionBar();actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);//必須要有這個方法設定其屬性actionBar.setDisplayShowTitleEnabled(false);ActionBar.Tab tab = actionBar.newTab().setText("資訊管理").setIcon(R.drawable.a).setTabListener(this).setTag("1");ActionBar.Tab tab2 = actionBar.newTab().setText("運動管理").setIcon(R.drawable.a).setTabListener(this).setTag("2");ActionBar.Tab tab3 = actionBar.newTab().setText("系統管理").setIcon(R.drawable.a).setTabListener(this).setTag("3");actionBar.addTab(tab);actionBar.addTab(tab2);actionBar.addTab(tab3);}@Overridepublic void onTabSelected(Tab tab, FragmentTransaction ft) {// TODO Auto-generated method stub//通過標籤來做識別,是哪個tab被調用了int flag=Integer.parseInt(tab.getTag().toString());switch (flag) {case 1:AFragment fragment=new AFragment(); ft.replace(R.id.main, fragment);// 不用使用commit方法提交,其不能使用回退棧機制返回,這裡很容易出錯break;case 2:break;case 3:break;}}@Overridepublic void onTabUnselected(Tab tab, FragmentTransaction ft) {// TODO Auto-generated method stub}@Overridepublic void onTabReselected(Tab tab, FragmentTransaction ft) {// TODO Auto-generated method stub}}