Android開發之ActionBar結合Fragment的導航功能的使用(原始碼分享)

來源:互聯網
上載者:User

      標籤在操作欄方便使用者去探索,在你的應用程式在不同視圖之間切換。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}}


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.