ActionBarSherlock横向标签

时间:2013-06-19 20:43:53

标签: java android actionbarsherlock

我正在使用ActionBarSherlock在活动中实现4个标签。选项卡在操作栏下方以纵向模式正确显示,滚动按预期工作。当我切换到横向模式时,标签被放置在微调器中(它们仍能正常工作)。如何强制标签以横向模式单独显示(在操作栏或下方)?

    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 个答案:

答案 0 :(得分:3)

  

如何强制标签在横向模式下单独显示(在操作栏或下方)?

不使用操作栏标签。

您看到的行为与ActionBarSherlock无关。 ABS正在反映标准操作栏的行为,它将执行相同的操作。这是设计的。这也是愚蠢的,恕我直言,但当我提交an issue时,我被告知这是按预期工作的。

如果您希望标签始终为标签,请使用操作栏标签以外的任何其他实施方式,例如带标签指示符的ViewPager

答案 1 :(得分:2)

这是ActionBar的默认行为。

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

我看到了这个

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

向ActionBar添加标签后,为标签导航模式调用setNavigationMode(),例如

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

它以标签视图模式显示标签。 我不知道它是否有效,但你可以尝试一下。

您还可以使用制表符创建视图,而不是使用ActionBar标签。我相信你必须使用ViewPager或类似的东西。