2013-08-20 60 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);