2

我将 ActionBarSherlock 与NAVIGATION_MODE_TABS. 每个选项卡都包含一个自定义视图。虽然在纵向模式下看起来不错,但如果选项卡显示为下拉列表(由 Android 自动完成),横向模式下会有很多问题:

  • Android 4.x:所选选项卡未显示在操作栏中(见图,红色圆圈)。直接使用 Android SDK 中的内置操作栏时也会发生同样的情况。
  • Android 2.x:所选选项卡未显示在操作栏中。一旦我单击下拉菜单,整个下拉菜单就会消失,而我会得到空选项卡。

操作栏未显示选定的选项卡

如果我不使用自定义视图,一切正常。我在图像上创建 ActionBar 的代码(故意保持简单):

getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
for (int i = 0; i < 7; i++) {
    ActionBar.Tab tab = getActionBar().newTab();
    TextView view = new TextView(this);
    view.setText("This is tab " + (i + 1));
    tab.setCustomView(view);
    tab.setTabListener(this);
    getActionBar().addTab(tab);
}

难道我做错了什么?

编辑:为了澄清,getSupportActionBar()存在于原始代码中,ActionBarSherlock 的操作栏除了所描述的问题外工作正常。我使用上面的代码示例来说明使用内置操作栏时也存在第一个问题(操作栏中未显示所选选项卡)。对困惑感到抱歉。

4

2 回答 2

1

使用 ActionBarSherlock 您应该使用getSupportActionBar()它才能在 2.x 上工作

getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
for (int i = 1; i <= 3; i++) {
    ActionBar.Tab tab = getSupportActionBar().newTab();
    tab.setText("Tab " + i);
    tab.setTabListener(this);
    getSupportActionBar().addTab(tab);
}

文本颜色要么来自您应用到选项卡的自定义视图,要么来自您在活动级别应用的主题。

于 2012-11-19T04:37:38.010 回答
0

这种方法对我来说很好:

只需放置导航方法,添加添加选项卡后:

... // adding tabs
bar.setNavigationMode(ActionBar.Navigation_mode_tabs);

祝你好运 ;)

于 2013-08-26T09:08:20.050 回答