Actionbarsherlock中的标签总是在操作栏内?

时间:2013-05-31 18:28:46

标签: android actionbarsherlock

我正在运行来自Actionbersherlock示例的演示,并注意到标签始终位于操作栏内,如图所示。我该如何解决? 日Thnx。

enter image description here

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

2 个答案:

答案 0 :(得分:3)

根据Action Bar Tabs guide

  

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

由于ActionBarSherlock模仿平台行为,如果有足够的空间,选项卡将显示在操作栏中。您无法按照other answers强制执行堆叠操作栏模式。

答案 1 :(得分:1)

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

我用这个:

getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

并且标签位于栏下方。 应在样本和文档中列出不同的模式