2012-11-17 26 views
2

我使用的ActionBarSherlock與NAVIGATION_MODE_TABS。每個選項卡都包含自定義視圖。雖然它看起來在縱向模式精細,有在橫向模式下的許多問題,如果標籤顯示爲下拉列表(自動完成的Android):ActionBarSherlock:選項卡在橫向模式下丟失自定義視圖

  • 的Android 4.x的:所選擇的選項卡未在所示操作欄(見圖像,紅色圓圈)。直接使用Android SDK中的內置操作欄時會發生同樣的情況。
  • Android 2.x:選定的選項卡不顯示在操作欄中。只要我點擊下拉菜單,整個下拉菜單就會消失,而我會看到空的標籤。如果我不使用自定義視圖

Action Bar not showing selected tab

,一切工作正常。我的代碼,在圖像上創建ActionBar(保持簡單的目的):

getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 
for (int i = 0; i < 7; i++) { 
    ActionBar.Tab tab = getActionBar().newTab(); 
    TextView view = new TextView(this); 
    view.setText("This is tab " + (i + 1)); 
    tab.setCustomView(view); 
    tab.setTabListener(this); 
    getActionBar().addTab(tab); 
} 

我做錯了什麼?

編輯:爲了澄清,原始代碼中存在getSupportActionBar(),ActionBarSherlock的Action Bar除了描述的問題以外還可以正常工作。我使用上面的代碼示例來說明在使用內置的操作欄時,第一個問題(操作欄中未顯示選定的選項卡)也存在。對困惑感到抱歉。

回答

1

隨着ActionBarSherlock你應該爲了使其在2.x的工作

getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 
for (int i = 1; i <= 3; i++) { 
    ActionBar.Tab tab = getSupportActionBar().newTab(); 
    tab.setText("Tab " + i); 
    tab.setTabListener(this); 
    getSupportActionBar().addTab(tab); 
} 

文本顏色無論是從自定義來查看你所申請的選項卡或從一個主題你使用getSupportActionBar()在活動級應用。

+0

謝謝您的回答。關於'getSupportActionBar()',請看我的編輯。關於文字顏色(黑色黑色):自定義樣式似乎不是問題。這是股票霍洛主題沒有任何定製。如果我切換到Holo.Light,則ActionBar仍不會顯示選定的選項卡。 – aha

0

這個方法對我來說工作得很好:

只是把導航方法,之後加入ADDING TABS:

... // adding tabs 
bar.setNavigationMode(ActionBar.Navigation_mode_tabs); 

古德勒克;)

相關問題