2013-08-20 45 views
0

今天,我正在打一个很丑的错误。 我想将一些项目放入底部菜单(不使用标签),但我希望这些项目只定义了“标题”而不是“图标”。一切适用于Android设备< = ICS。菜单项的宽度计算正确(我想为前三项使用“always”属性,其他项使用“ifRoom”)。 当我在JB设备上启动应用程序时,这些菜单项中的最后一个被隐藏其他四个菜单项的“三点按钮”覆盖。ActionBarSherlock - “三点按钮”重叠菜单中的动作项目

我已经在HW Ascend G300(ICS,hw menu button disabled)上测试过了,结果正确。在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> 

感谢;)

回答

0

我有这三个点在底部出现问题,这是只在HTC设备的底部只出现(对不起,我可能是错的这个,但是这是我找到)。因此,最后我更改了API级别为18的Project Build Target,或者在清单文件中设置了android:targetSdkVersion =“18”,并且三个按钮消失了。

0

使用此 SHOW_AS_ACTION_IF_ROOM

利用这一点,如果你的动作条没有足够的空间来存放更多的物品,然后它会去竖3个点内。

例如

menu.add("More").setOnMenuItemClickListener(this.DebugButtonHandler) 
    .setIcon(R.drawable.info).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);