编辑:下面的 Android-Developers 回答很好地解释了解决方案
我的问题是还有另一个栏,不确定它的名字是什么 - TitleBar?(带有菜单按钮和白色方形徽标的栏)在我的 ActionBar 上方。我理想中想要的是将我的 ActionBar 与该栏合并,或者如果不可能,在带有图标和菜单按钮的选项卡中完全实现我自己的栏。我已经尝试了几件事(见下图),我如何添加选项卡的粗略代码也如下所示。
将选项卡添加到 ActionBar 代码:
actionBar = getActionBar(); // Get reference to ActionBar
// Add some navigation tabs...
// 1. Enable ActionBar navigation tabs
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
actionBar.setDisplayShowTitleEnabled(false);
// 2. Add the tabs
Tab programTab = actionBar.newTab();
Tab settingsTab = actionBar.newTab();
Tab historyTab = actionBar.newTab();
programTab.setText("Program")
.setTabListener(new TabListener<Fragment_Program>(
this, "Program", Fragment_Program.class));
settingsTab.setText("Settings")
.setTabListener(new TabListener<Fragment_Settings>(
this, "Settings", Fragment_Settings.class));
historyTab.setText("History")
.setTabListener(new TabListener<Fragment_History>(
this, "History", Fragment_History.class));
actionBar.addTab(programTab);
actionBar.addTab(settingsTab);
actionBar.addTab(historyTab);
我的印象是 getActionBar() 引用了屏幕截图中位于我的 ActionBar 上方的现有栏。这将是理想的。
当前的应用程序主题是android:theme="@android:style/Theme.Holo.Light.DarkActionBar"
无论如何,我尝试了以下方法:
- 各种清单更改,包括各种 .NoTitleBar 组合
requestWindowFeature(Window.FEATURE_NO_TITLE);
之后super.onCreate()
和之前setContentView()
我使用标准 ActionBar 的原因是这适用于将运行至少 4.0 且版本极不可能更改的硬件设备。
有什么想法吗?
干杯