【发布时间】:2012-09-13 11:25:31
【问题描述】:
我正在使用操作栏 sherlock 并在横向模式下显示我的所有选项卡,但在纵向仅显示一个。
如何显示所有选项卡以便用户可以沿着它们滑动?它们不必同时出现在屏幕上,我只是不想弹出菜单。
【问题讨论】:
我正在使用操作栏 sherlock 并在横向模式下显示我的所有选项卡,但在纵向仅显示一个。
如何显示所有选项卡以便用户可以沿着它们滑动?它们不必同时出现在屏幕上,我只是不想弹出菜单。
【问题讨论】:
一个有点老的问题,您可能已经想出了如何解决它,但这里有一个解决方案,供人们(就像我一样)在同样的问题上苦苦挣扎。事实上,documentation 是这样说的:
注意:在某些情况下,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);
就是这样:)
【讨论】: