0

今天,我正在与一个非常丑陋的虫子作斗争。我想将一些项目放入底部菜单(不使用选项卡),但我希望这些项目只定义了“标题”而不是“图标”。一切都适用于 Android <= ICS 的设备。菜单项的宽度计算正确(我想对前三个项目使用“always”属性,其他使用“ifRoom”)。当我在 JB 设备上启动应用程序时,这些菜单项中的最后一个被“三点按钮”覆盖,隐藏了其他四个菜单项。

我已经在硬件 Ascend G300(ICS,硬件菜单按钮禁用)上对此进行了测试,结果是正确的。在 HTC X (JB) 上,结果不正确。

Ps:当我设置第一个菜单项(action_menu_map)的图标时,一切正常(我当然不想设置它)。

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
     <item 
         android:id="@+id/action_menu_map"
         android:showAsAction="always"
         android:title="@string/ab_map"/>
     <item 
         android:id="@+id/action_menu_list"
         android:title="@string/ab_list"
         android:showAsAction="always"/>
     <item 
         android:id="@+id/action_menu_routes"
         android:title="@string/ab_routes"
         android:showAsAction="always"/>
     <item 
         android:id="@+id/action_menu_call"
         android:title="@string/ab_call"
         android:icon="@drawable/call_icon"
         android:showAsAction="ifRoom"/>
     <item 
         android:id="@+id/action_menu_report_event"
         android:title="@string/ab_report_event"
         android:icon="@drawable/message_icon"
         android:showAsAction="ifRoom"/>
     <item 
         android:id="@+id/action_menu_settings"
         android:title="@string/ab_settings"
         android:showAsAction="ifRoom"/>
     <item 
         android:id="@+id/action_menu_info"
         android:title="@string/ab_info"
         android:showAsAction="ifRoom"/>
</menu>

谢谢 ;)

4

2 回答 2

0

我在底部出现了这个三点问题,它只出现在 HTC 设备的底部(对不起,我可能错了,但这是我发现的)。所以,最后我改变了 API 级别为 18 的项目构建目标,或者我在清单文件中设置了 android:targetSdkVersion="18" 并且三个按钮消失了。

于 2013-08-23T12:17:09.067 回答
0

用这个 SHOW_AS_ACTION_IF_ROOM

使用它,如果您的操作栏没有足够的空间来保存更多项目,那么它将进入垂直的 3 个点。

例如

menu.add("More").setOnMenuItemClickListener(this.DebugButtonHandler)
    .setIcon(R.drawable.info).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
于 2013-10-23T09:18:14.597 回答