显示操作栏sherlock中的所有选项卡?

时间:2012-09-13 11:25:31

标签: android actionbarsherlock

我正在使用操作栏sherlock并在横向模式下显示所有标签,但在纵向中只有一个显示。

如何显示所有标签,以便用户可以沿着它们滑动?他们不必同时在屏幕上,我只是不想要一个弹出菜单。

1 个答案:

答案 0 :(得分:1)

有点老问题,你可能已经想出了如何修复它,但这里有一个解决方案,让人们在同样的问题上苦苦挣扎(就像我一样)。实际上,documentation表示如下:

  

注意:在某些情况下,Android系统会将操作栏标签显示为下拉列表,以确保最适合操作栏。

要在标签项不适合屏幕时避开下拉列表,请将标签添加到操作栏,并在添加项目后设置导航模式。

ActionBar bar = getSupportActionBar();
//bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); // Don't set navigation mode yet, if you do then portrait mode will revert to list mode if tab items don't fit the screen
bar.setLogo(logo);
bar.setHomeButtonEnabled(false);
bar.setDisplayHomeAsUpEnabled(true);
bar.setDisplayShowTitleEnabled(false);

// Add lots of tab items
for (int i = 0; i < channels.length; i++) {
    ActionBar.Tab tab = bar.newTab();
    String[] s = channels[i].split(":");
    tab.setText(s[0]);
    tab.setTag(s[1]);
    tab.setTabListener(this);

    bar.addTab(tab);
}

// Set navigation mode now, that will show all tabs in portrait mode instead of drop-down regardless the screen size
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

就是这样:))