showAsAction = "ifRoom" não mostra o item mesmo quando há muito espaço
Eu estou tentando fazer o ActionBar funcionar corretamente no meu aplicativo (e estou usando o ActionBarSherlock para obter uma interface do usuário unificada entre o Android 2.xe 4.x).
Sinto-me comoandroid:showAsAction="ifRoom"
é apenas uma mentira grande e gorda. Sempre que eu definir uma ação paraifRoom
Ele sempre aparece no menu de estouro, mesmo que haja muito espaço. Aqui estão duas imagens do mesmo emulador. O primeiro mostra o ActionBar com todas as opções definidas paraalways
e o segundo mostra o ActionBar com as duas últimas opções definidas comoifRoom
. Como você pode ver, havia muito espaço quando todos eles foram mostrados noalways
screenshot, então por que eles não estão todos mostrando no segundo porque eles têm espaço?
Aqui está o meu menu.xml:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/add"
android:icon="@drawable/ic_menu_btn_add"
android:showAsAction="always"
android:title="Add"/>
<item
android:id="@+id/calculateNPV"
android:icon="@drawable/menu_icon_npv"
android:showAsAction="always"
android:title="NPV"/>
<item
android:id="@+id/calculateIRR"
android:icon="@drawable/menu_icon_irr"
android:showAsAction="always"
android:title="IRR/YR"/>
<item
android:id="@+id/send"
android:icon="@android:drawable/ic_menu_share"
android:showAsAction="always"
android:title="@string/share_pdf"/>
<item
android:id="@+id/graph"
android:icon="@drawable/ic_menu_gallery"
android:showAsAction="ifRoom"
android:title="@string/view_cashflow_diagram"/>
<item
android:id="@+id/deleteReorder"
android:icon="@drawable/ic_menu_clear_playlist"
android:showAsAction="ifRoom"
android:title="@string/delete_reorder_cashflows"/>
</menu>