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);