2012-10-26 47 views
0

因爲設計原因,我將我的應用程序選項卡(API 7)切換到操作欄Sherlock中使用的那個,但我不知道如何設置它。如何設置一個ActionBar Sherlock選項卡?

這就是我用來做:

tabH = (TabHost) findViewById(R.id.tabhost); 

    tabH.setup(); 

    TabSpec espec = tabH.newTabSpec("tabONE"); 
    espec.setContent(R.id.tbhot); 
    espec.setIndicator("A"); 
    tabH.addTab(espec); 

    espec = tabH.newTabSpec("tabTWO"); 
    espec.setContent(R.id.tbrecente); 
    espec.setIndicator("B"); 
    tabH.addTab(espec); 

    espec = tabH.newTabSpec("tabTHREE"); 
    espec.setContent(R.id.tbcreate); 
    espec.setIndicator("C"); 
    tabH.addTab(espec); 

現在這就是我在做什麼:

getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

    for (int i = 1; i <= 3; i++) { 
     ActionBar.Tab tab = getSupportActionBar().newTab(); 
     if (i == 1) 
      tab.setText("A"); 
     else if(i == 2) 
      tab.setText("B"); 
     else if (i == 3) 
      tab.setText("C"); 
     tab.setTabListener(this); 
     getSupportActionBar().addTab(tab); 
    } 

這一工程,但我不知道如何設置的內容,所以所有標籤都有相同的內容。我該怎麼做?

此外,我的其他選項卡位於佈局的底部。是否有可能在底部設置這一個?我相信,如果我可以在新選項卡中設置TabHost,它也會處於最底層,所以問題是,如何在此設置tabhost?

回答

0

我通常使用片段作爲內容。你必須實現ActionBar.TabListener並在那裏調整你的內容,但這很容易。您可以在開頭添加所有片段並顯示/隱藏它們,或者替換當前片段。

+0

我已經閱讀過關於它的內容,但是它僅適用於3.0或更高版本嗎?或者它會在ABS上正常工作嗎? –

+0

ABS覆蓋所有的東西。這是圖書館的重點。這是來自jake的演示之一:[FragmentTabs](https://github.com/JakeWharton/ActionBarSherlock/blob/master/samples/fragments/src/com/actionbarsherlock/sample/fragments/FragmentTabs.java) – toadzky

相關問題