Android 从上下文操作栏中删除标题

Android 从上下文操作栏中删除标题,android,contextual-action-bar,android-actionmode,Android,Contextual Action Bar,Android Actionmode,我想删除在上下文操作栏中为标题分配的视图 请注意,我不想设置标题;我希望视图完全消失。这是为了留出更多的空间,以便可以在菜单栏上显示操作,而不是将其放入溢出菜单 还要注意,我不想设置android:showAsAction=“always”。我想让Android决定图标的空间大小。我只想通过删除为标题保留的空白区域来“更多空间> > 更新 我尝试过的事情: ActionMode.setCustomView(null) ActionMode.setTitleOptions提示(true)

我想删除在上下文操作栏中为标题分配的视图

请注意,我不想设置标题;我希望
视图
完全消失。这是为了留出更多的空间,以便可以在菜单栏上显示操作,而不是将其放入溢出菜单

还要注意,我不想设置android:showAsAction=“always”。我想让Android决定图标的空间大小。我只想通过删除为标题保留的空白区域来“<强>更多空间> <强> >

更新

我尝试过的事情:

  • ActionMode.setCustomView(null)
  • ActionMode.setTitleOptions提示(true)
  • ActionMode.setTitle(“”)
不幸的是,这些都不起作用


更新2

事实证明,我所期望的结果是不可能以我所尝试的方式实现的。删除标题将不会为更多图标留出空间;Android根据设备屏幕大小设置硬限制。如果您想在菜单中添加更多图标,请参阅@adneal提供的答案

如果您确实有一个标题(如下所示)并且想要删除它,那么您可以调用@commonware在接受的答案中提供的
ActionMode.setTitle(“”


尝试在
操作模式上调用
setCustomView(null)

如果不起作用,请尝试
操作模式上的
设置标题选项提示(true)

如果不起作用,请在
操作模式
上尝试
setTitle(“”)

还请注意,我不想设置android:showAsAction=“always”

如果您希望在
操作栏中有两个以上的操作按钮,至少在较小的屏幕上,您必须这样做。确定要在
操作栏中放置多少个操作按钮以及

覆盖该默认值的唯一方法是使
MenuItem
“始终”显示

@覆盖
公共布尔onCreateActionMode(ActionMode模式,菜单){
mode.setTitle(空);
对于(int i=0;i<5;i++){
menu.add(“Item”+(i+1)).setIcon(android.R.drawable.sym_def_app_图标)
.setShowAsAction(菜单项始终显示为动作);
}
返回true;
}
结果

@Ovrride
protected void onCreate(Bundle savedInstanceState……

requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

setContentView(R.layout.prva.xml);

按照阿德尼尔的回答,我遇到了如何处理行动的问题。 因此,我发现这个解决方案更简单: 仍在使用
xml/inflater
但添加

 menu.findItem(R.id.whatever).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);

我尝试了这里提供的解决方案,并做了一些观察:

  • 标题视图始终包含在视图层次结构(->Android Studio的布局检查器)中,但它位于后台,将被内容覆盖
  • setContentView将提供的视图添加到layuot(在前景中)。因此
    setContentView(null)
    不会删除标题的视图。(在布局检查器中仍然可见)
  • app:showAsAction=“always”
    在展开布局时被覆盖。您可以将3个项目设置为始终显示,但仅显示2个项目

但是设置
.setShowAsAction(MenuItem.SHOW\u AS\u ACTION\u ALWAYS)
在对菜单进行充气后,可以通过编程方式进行设置。

在调用
充气器.inflate(R.menu.my\u menu,menu)后,我尝试调用它们
onPrepareActionMode
中。这是尝试这些方法的合适地方吗?这意味着我在代码中添加了这些行并运行了应用程序,但问题仍然存在。@DirtyBeach:
onPrepareActionMode()
显然是正确的位置。很抱歉,这些没有起作用。根据@adneal的评论,这似乎是删除标题的正确方法。不幸的是,由于图标的限制,它没有产生预期的结果。因此,这是正确的答案。虽然这确实有帮助,但它并没有回答“如何删除包含标题的
视图”
”的问题,我开始认为它实际上可能不存在。但是,正如你所指出的,Android基本上会说,“我不在乎是否有空间;你只会得到两个图标。处理它。”将你的菜单项设置为“始终”显示,然后使用提供的答案@commonware。我没有提到如何删除标题,因为他已经提供了几乎所有可能的解决方案;如您的屏幕截图所示,任何具有android:showAsAction=“always”
属性的图标都会强制进入菜单。我希望删除标题视图可以在不这样做的情况下获得更多的空间。不幸的是,情况似乎并非如此。我希望删除标题视图将允许更多空间这是用于
活动中的操作栏。我在询问
操作模式
中的上下文操作栏。它们是不同的东西。
 menu.findItem(R.id.whatever).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);