2013-06-19 53 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

相关问题