2012-11-17 25 views
2

我使用的ActionBarSherlock与NAVIGATION_MODE_TABS。每个选项卡都包含自定义视图。虽然它看起来在纵向模式精细,有在横向模式下的许多问题,如果标签显示为下拉列表(自动完成的Android):ActionBarSherlock:选项卡在横向模式下丢失自定义视图

  • 的Android 4.x的:所选择的选项卡未在所示操作栏(见图像,红色圆圈)。直接使用Android SDK中的内置操作栏时会发生同样的情况。
  • Android 2.x:选定的选项卡不显示在操作栏中。只要我点击下拉菜单,整个下拉菜单就会消失,而我会看到空的标签。如果我不使用自定义视图

Action Bar not showing selected tab

,一切工作正常。我的代码,在图像上创建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的Action Bar除了描述的问题以外还可以正常工作。我使用上面的代码示例来说明在使用内置的操作栏时,第一个问题(操作栏中未显示选定的选项卡)也存在。对困惑感到抱歉。

回答

1

随着ActionBarSherlock你应该为了使其在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); 
} 

文本颜色无论是从自定义来查看你所申请的选项卡或从一个主题你使用getSupportActionBar()在活动级应用。

+0

谢谢您的回答。关于'getSupportActionBar()',请看我的编辑。关于文字颜色(黑色黑色):自定义样式似乎不是问题。这是股票霍洛主题没有任何定制。如果我切换到Holo.Light,则ActionBar仍不会显示选定的选项卡。 – aha

0

这个方法对我来说工作得很好:

只是把导航方法,之后加入ADDING TABS:

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

古德勒克;)

相关问题