我正在运行来自Actionbersherlock示例的演示,并注意到标签始终位于操作栏内,如图所示。我该如何解决? 日Thnx。
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
答案 0 :(得分:3)
系统会根据不同的屏幕尺寸调整操作栏选项卡 - 当屏幕足够宽时将它们放置在主操作栏中,或者当屏幕太窄时将其放置在单独的栏中(称为“堆叠操作栏”)
由于ActionBarSherlock模仿平台行为,如果有足够的空间,选项卡将显示在操作栏中。您无法按照other answers强制执行堆叠操作栏模式。
答案 1 :(得分:1)
actionbarsherlock有不同的模式使用正确的
我用这个:
getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
并且标签位于栏下方。 应在样本和文档中列出不同的模式