1

我正在使用 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);
4

2 回答 2

3

如何强制选项卡以横向模式单独显示(在操作栏中或下方)?

通过不使用操作栏选项卡。

您看到的行为与 ActionBarSherlock 无关。ABS 反映了标准操作栏的行为,它会做同样的事情。这是设计使然。恕我直言,这也很愚蠢,但是当我提出问题时,我被告知这是按预期工作的。

如果您希望您的选项卡始终是选项卡,请使用操作栏选项卡以外的任何实现,例如ViewPager带有选项卡式指示器的选项卡。

于 2013-06-19T20:47:56.497 回答
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或类似的东西。

于 2013-06-19T20:49:47.890 回答