Próbuję sprawić, aby ActionBar działał poprawnie na mojej aplikacji (i używam ActionBarSherlock, aby uzyskać ujednolicony interfejs między Androidem 2.x i 4.x).showAsAction = "ifRoom" nie wyświetla elementu, nawet jeśli jest dużo miejsca.
Czuję, że android:showAsAction="ifRoom"
to tylko duże, grube kłamstwo. Ilekroć ustawiam akcję na ifRoom
, ZAWSZE pojawia się w menu przelewu, nawet jeśli jest ZAJECIA miejsca. Oto dwa zrzuty ekranu z tego samego emulatora. Pierwszy pokazuje ActionBar z wszystkimi opcjami ustawionymi na always
, a drugi pokazuje ActionBar z dwoma ostatnimi opcjami ustawionymi na ifRoom
. Jak widać, ZUPEŁNIE było miejsce w pokoju, kiedy wszystkie zostały pokazane na zrzucie ekranu always
, więc dlaczego nie wszystkie są wyświetlane w drugim, ponieważ mają miejsce?
Oto moja 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>
Nie zawsze 4. Zobaczmy ten wykres: http://developer.android.com/ design/media/action_bar_pattern_table.png –
Ale jak widzisz, jest miejsce dla tych działań, więc -powoli - jest dużym, grubym kłamstwem. :) To frustrujące, że nie ma widocznego wskaźnika, że jest więcej opcji dostępnych za pomocą przycisku Menu. O wiele gorzej jest pokazać NIEKTÓRE opcje, ale nie wszystkie bez wskaźnika, ponieważ wyświetlenie SOME mówi użytkownikowi, że jest to lokalizacja, której należy szukać. Dlaczego miałaby istnieć inna lokalizacja? –
@Jake Wharton: Tak, tak! Wiedziałem, że widziałem już coś takiego, ale nie mogłem sobie przypomnieć, gdzie. Teraz myślę, że był w jednym z google design w filmach akcji o ActionBar ... Dzięki! –