1

我正在从 Actionbersherlock 示例中运行演示,并注意到选项卡始终位于操作栏中,如图所示。我该如何解决?谢谢。

在此处输入图像描述

public class TabNavigation extends SherlockActivity implements ActionBar.TabListener {
private TextView mSelected;

@Override
public void onCreate(Bundle savedInstanceState) {
    setTheme(SampleList.THEME); //Used for theme switching in samples
    super.onCreate(savedInstanceState);

    setContentView(R.layout.tab_navigation);
    mSelected = (TextView)findViewById(R.id.text);

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

@Override
public void onTabReselected(Tab tab, FragmentTransaction transaction) {
}

@Override
public void onTabSelected(Tab tab, FragmentTransaction transaction) {
    mSelected.setText("Selected: " + tab.getText());
}

@Override
public void onTabUnselected(Tab tab, FragmentTransaction transaction) {
}

}

代码从这里:

https://github.com/JakeWharton/ActionBarSherlock/blob/master/actionbarsherlock-samples/demos/src/com/actionbarsherlock/sample/demos/TabNavigation.java
4

2 回答 2

3

根据操作栏标签指南

系统针对不同的屏幕尺寸调整操作栏选项卡——当屏幕足够宽时将它们放置在主操作栏中,或者当屏幕太窄时将它们放置在单独的栏中(称为“堆叠操作栏”)

由于 ActionBarSherlock 模仿平台行为,如果有足够的空间,选项卡将出现在操作栏中。您不能按照其他 答案强制堆叠操作栏模式。

于 2013-05-31T18:55:05.600 回答
1

actionbarsherlock 有不同的模式使用正确的模式

我用这个:

getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

选项卡位于栏下方。示例和文档中应列出不同的模式

于 2013-05-31T18:32:30.087 回答