2013-06-19 58 views
1

我正在使用ActionBarSherlock在活動中實現4個選項卡。選項卡在操作欄下方以縱向模式正確顯示,滾動按其應有的方式工作。當我切換到橫向模式時,選項卡被放置在一個微調器中(它們仍然正常工作)。我如何強制選項卡以橫向模式單獨顯示(在操作欄或下面)?橫向的ActionBarSherlock選項卡

getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 
    getSupportActionBar().setDisplayHomeAsUpEnabled(true); 


    ActionBar.Tab tab1 = getSupportActionBar().newTab(); 
    tab1.setText("TAB 1 TEXT"); 
    tab1.setTabListener(this); 
    getSupportActionBar().addTab(tab1); 

    ActionBar.Tab tab2 = getSupportActionBar().newTab(); 
    tab2.setText("TAB 2 TEXT"); 
    tab2.setTabListener(this); 
    getSupportActionBar().addTab(tab2); 

    ActionBar.Tab tab3 = getSupportActionBar().newTab(); 
    tab3.setText("TAB 3 TEXT"); 
    tab3.setTabListener(this); 
    getSupportActionBar().addTab(tab3); 

    ActionBar.Tab tab4 = getSupportActionBar().newTab(); 
    tab4.setText("TAB 4 TEXT"); 
    tab4.setTabListener(this); 
    getSupportActionBar().addTab(tab4); 

回答

2

這是ActionBar的默認行爲。

https://code.google.com/p/android/issues/detail?id=24439

只見這

https://groups.google.com/forum/#!msg/android-developers/2unF5lKfn64/iKUX7JbbOo4J

添加標籤來動作條調用setNavigationMode()爲標籤導航模式,例如後

Tab tabDemo=mTabsAdapter.addTab(bar.newTab().setText("ABC"),.Abc.class, null,"Abc"); 
bar.setNavigationMode(ActionBar.Navigation_mode_tabs); 

它以選項卡式視圖模式顯示選項卡。 我不知道它是否有效,但你可以嘗試。

您還可以使用選項卡而不是使用ActionBar選項卡來創建視圖。我相信你必須使用ViewPager或類似的東西。

+0

恐怕這不會奏效 - 兩週前嘗試過,但沒有效果。 – Trinimon

+0

還配有查看傳呼機? http://developer.android.com/training/implementing-navigation/lateral.html 一直到最後一項:使用標題條而不是標籤 –

+1

只需再次檢查它(上一次它是一個我的同事誰嘗試過):似乎它實際上強制在ActionBar中創建制表符。然而,我們正在尋找讓他們低於AB,因爲在AB空間很少;) – Trinimon

3

我怎麼能強制選項卡(無論是在動作巴或以下)在橫向模式下分別顯示?

不使用操作欄選項卡。

您看到的行爲不綁定到ActionBarSherlock。 ABS正在反映標準操作欄的行爲,它將執行相同的操作。這是設計。這也是愚蠢的,恕我直言,但當我提起an issue,我被告知,這是按預期工作。

如果您希望標籤始終爲標籤,請使用操作欄選項卡以外的任何實現方式,例如帶有標籤式指示器的ViewPager

+0

有趣的是,谷歌播放應用程序不斷在橫向使用標籤,但我不能讓我自己的應用程序(用更少的標籤)來做到這一點。有一致性的論點。 – Karl

+1

@Karl:如果您指的是Play商店,他們並未使用操作欄選項卡。這些選項卡從不在任何方向的操作欄中。因此,他們顯然不是操作欄選項卡。如果您使用**'uiautomatorviewer' **,您將看到Play商店使用帶有標籤指示符的'ViewPager'。 – CommonsWare

+0

沒有意識到差異。這就是我一直想要的,謝謝! – Karl

相關問題