0

我有一个基于片段的应用程序,其中一些片段具有我想作为按钮放入的附加操作ActionBar,而有些则没有任何此类操作。我创建了一个 xml 菜单文件,其中包含所有片段的所有项目,并在运行时显示/隐藏,具体取决于当前使用以下组合显示的片段:

MenuItem item = menu.findItem(some_id);
item.setVisible(false);
MenuItem item = menu.findItem(some_other_id);
item.setVisible(true);

问题是,当我查看没有菜单项的片段时,如果我更改设备方向然后更改为不同的片段 - 带有菜单项 - 这些项目不会显示在其中,ActionBar但只能使用设备的“菜单”访问“ 按钮。

所有菜单项都在 xml 文件中设置,但如果在查看没有菜单项的片段时完成最后一次方向更改android:showAsAction="always",它们始终无法显示。ActionBar这发生在纵向到横向和横向到纵向的变化期间。

如何强制始终显示项目ActionBar

4

1 回答 1

2

两点:

  1. 根据ActionBar 设计文档,即使是横向的 10 英寸平板电脑,也只能在下面的图表中显示最多 4 个项目在 Action Bar 中: ActionBar 中的最大图标数
  2. 假设您低于 中显示的最大项目数ActionBar,如果您希望 FragmentsActionBar在它们出现时添加项目并在它们隐藏时删除,您不需要在单个 xml 菜单文件中手动显示/隐藏项目,但是而是根据 Fragments - 将项目添加到操作栏指南中的每个Fragment人中添加项目
于 2013-05-31T17:25:42.917 回答