我想删除在上下文操作栏中为标题分配的视图。
请注意,我不想设置标题;我希望View
完全消失。这是为了允许更多空间,以便可以在菜单栏上显示操作,而不是将其放入溢出菜单。
另请注意,我不想设置android:showAsAction="always"
。我想让Android决定图标的空间大小。我只想通过删除为标题保留的空白区域来更多空间。
更新
我尝试过的事情:
ActionMode.setCustomView(null)
ActionMode.setTitleOptionalHint(true)
ActionMode.setTitle("")
。 不幸的是,这些都没有奏效。
更新2
事实证明,我想要的结果是不可能以我尝试的方式实现的。删除标题将不允许有更多图标; Android根据设备屏幕大小设置硬限制。如果您想在菜单中添加更多图标,请参阅@adneal提供的答案。
如果您确实拥有一个标题(如下所示)并希望将其删除,那么您可以在接受的答案中调用@CommonsWare提供的ActionMode.setTitle("")
。
答案 0 :(得分:5)
另请注意,我不想设置android:showAsAction =“always”
如果您需要ActionBar
中的两个以上操作按钮,至少在较小的屏幕上,则必须这样做。 ActionBarPolicy确定要在ActionBar
和default amount is 2.
覆盖该默认值的唯一方法是让MenuItem
“始终”出现。
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
mode.setTitle(null);
for (int i = 0; i < 5; i++) {
menu.add("Item " + (i + 1)).setIcon(android.R.drawable.sym_def_app_icon)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
}
return true;
}
<强>结果
答案 1 :(得分:2)
尝试在setCustomView(null)
上调用ActionMode
。
如果不起作用,请尝试setTitleOptionalHint(true)
上的ActionMode
。
如果不起作用,请尝试setTitle("")
上的ActionMode
。
答案 2 :(得分:1)
根据adneal的回答,我遇到了如何处理这个问题的问题。
所以我发现这个解决方案更简单:
仍然使用xml/inflater
但添加
menu.findItem(R.id.whatever).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
答案 3 :(得分:0)
@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);
答案 4 :(得分:0)
我尝试了这里提供的解决方案并做了一些观察:
setContentView(null)
不会删除标题的视图。 (仍在布局检查器中可见)app:showAsAction="always"
。您可以设置总共显示3个项目,但只显示2个项目。但是在充气菜单后以编程方式设置.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS)
。