0

我正在使用动作栏 sherlock 并在横向模式下显示我的所有选项卡,但纵向仅显示一个。

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

4

1 回答 1

1

一个有点老的问题,你可能已经想出了如何解决它,但这里有一个解决方案供人们(像我一样)在同样的问题上苦苦挣扎。事实上,文档说如下:

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

为避免选项卡项目不适合屏幕时出现下拉列表,请将选项卡添加到 ActionBar 并在添加项目后设置导航模式。

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);

而已 :)

于 2013-01-06T03:46:42.947 回答