我有一个应用程序(适用于4.0及更高版本),MenuItem
中有一对ActionBar
s(一个带有'always',其余带有'ifRoom'或'never'属性)。
所以问题就是这样......
如果我以横向模式启动应用,则ActionBar
如下所示:
当我从肖像旋转到横向时,ActionBar
看起来像这样:
正如您所看到的,出现的图标数量应该超出应有的数量,即标题栏和标签菜单(导航菜单)没有剩余空间。实际上,4个项目以纵向模式显示(它是一个拆分的ActionBar),似乎Android没有意识到那里没有SplitActionBar。
请建议我可以做些什么来解决这个问题? :)
我的menu.xml:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_share"
android:icon="@drawable/ic_menu_share"
android:showAsAction="always"
android:title="@string/share"/>
<item
android:id="@+id/action_viewToggle"
android:icon="@drawable/ic_menu_view_as_grid"
android:showAsAction="ifRoom"
android:title="@string/switch_view"/>
<item
android:id="@+id/action_upload"
android:icon="@drawable/ic_menu_upload"
android:showAsAction="ifRoom"
android:title="@string/upload"/>
<item
android:id="@+id/action_newFolder"
android:icon="@drawable/ic_menu_new_folder"
android:showAsAction="ifRoom"
android:title="@string/create_folder"/>
<item
android:id="@+id/action_multiselect"
android:icon="@drawable/ic_menu_select_all"
android:showAsAction="ifRoom"
android:title="@string/selection_mode"/>
<item
android:id="@+id/action_refresh"
android:icon="@drawable/ic_menu_refresh"
android:showAsAction="ifRoom"
android:title="@string/refresh"/>
<item
android:id="@+id/action_settings"
android:icon="@drawable/ic_menu_settings"
android:showAsAction="never"
android:title="@string/action_settings"/>
</menu>
答案 0 :(得分:0)
确保在menu.xml文件中处理每个菜单项可见性,请查看xml ShowAsAction属性。
这是一个例子:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/SOME_MENU_ITEM"
android:icon="@drawable/SOME_ICON"
android:showAsAction="ifRoom" | "never" | "withText" | "always" | "collapseActionView"
android:title="SOME_TITLE"/>
.
.
答案 1 :(得分:0)
菜单项的重要属性xml之一是, android:showAsAction,用于定义操作项的可见性。 从您的代码中可以明显看出,如果操作栏中有空间,它会显示它。 因此,如果您不希望它出现,请指定android:showAsAction值为never,以便无论方向如何,它都只会出现在溢出菜单中。