编辑: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"
无论如何,我尝试了以下内容:
requestWindowFeature(Window.FEATURE_NO_TITLE);
之后super.onCreate()
之前setContentView()
我使用标准ActionBar的原因是硬件设备至少运行4.0并且版本不太可能改变。
有什么想法吗?
干杯
答案 0 :(得分:4)
据我所知你想删除该视图吗?
问题在于它是你的ActionBar。我想你想要使用Tabs,但没有ActionBar就像许多正在这样做的应用程序。为实现这一目标:
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
bar.setDisplayShowTitleEnabled(false);
bar.setDisplayShowHomeEnabled(false);
但不要忘记一些事情,如果你想实现这一点,你不应该夸大片段/活动中的任何菜单:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//getSupportMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
答案 1 :(得分:1)
您应该看到@ColorWP回答here
已经在super.onCreate(savedInstanceState)中设置了Window标志;在这种情况下,您可能希望使用以下命令顺序:
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
super.onCreate(savedInstanceState);