Popup från actionbar

Diskussion i 'Frågor, support och diskussion' startad av noname.olsson, 23 juni 2012.

  1. noname.olsson

    noname.olsson Teen Droid Medlem

    Blev medlem:
    10 december 2009
    Inlägg:
    360
    Mottagna gillanden:
    8

    MINA ENHETER

    Hallo mitt i natten!
    Försöker få till en popup från min actionbar, som här http://developer.android.com/images/ui/popupmenu.png.
    Jag har följt exempelkoden http://developer.android.com/guide/topics/ui/menus.html#PopupMenu, och får det att fungera från en button som jag lägger in.

    Men det jag vill göra är att ha en popup från min actionbar. Här nedan finns lite kod jag har testat med.
    activity: http://pastie.org/4135165
    menu.xml http://pastie.org/4135168
    popup.xml http://pastie.org/4135172
    Tänker jag helt fel när jag sätter onClick i min menu.xml som anropar funktionen för att inflate popup.xml?

    Någon som har bättre koll än mig får gärna ge mig lite tips på vad jag tänker fel på.

    Gonatt!
     
  2. lagge92

    lagge92 Teen Droid Medlem

    Blev medlem:
    11 maj 2010
    Inlägg:
    284
    Mottagna gillanden:
    41

    MINA ENHETER

    Du vill inte testa att lägga in dem som action items i din actionbar och sätta force overflow så de hamnar i overflow menyn?

    När du lägger till dem i menyn kör du .setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER) på de som ska hamna i overflow. (ser ut som i bilden då)
     
  3. noname.olsson

    noname.olsson Teen Droid Medlem

    Blev medlem:
    10 december 2009
    Inlägg:
    360
    Mottagna gillanden:
    8

    MINA ENHETER

    Tack för tipset, men när jag gör det får jag inte samma resultat som på bilden. Jag måste trycka på min dedikerade menyknapp för att få upp dem. Jag vill helst inte använda menyknappen utan använda overflowknapp istället.
     
  4. lagge92

    lagge92 Teen Droid Medlem

    Blev medlem:
    11 maj 2010
    Inlägg:
    284
    Mottagna gillanden:
    41

    MINA ENHETER

    Hmm, det behöver inte jag göra när jag testar, är detta på pre-ICS? Använder du actionBarSherlock?

    Ska se om jag hittar anledningen till varför jag får en overflow-knapp trots att det finns en hårdvaruknapp.

    EDIT:
    Nu minns jag! På actionbar sherlock finns det teman som heter "...forceOverflow"
    Så om du använder actionbar sherlock (väldigt bra för actionbar bak till froyo) så kan du använda t.ex temat "Theme.Sherlock.Light.ForceOverflow" eller "Theme.Sherlock.Light.DarkActionbar.ForceOverflow" eller vilket du nu vill ha. Du lägger bara till en rad i ditt manifest såhär:
    i

    HTML:
    <Application 
    android:theme = "@style/Theme.Sherlock.Light.DarkActionBar.ForceOverflow">
    </Application>

    för att applicera temat på hela appen, annars kan du göra det olika för varje aktivitet.

    Hoppas det hjälpte.

    EDIT:
    Föröker fixa xml-kodsnutten
     
    Last edited: 28 juni 2012
  5. noname.olsson

    noname.olsson Teen Droid Medlem

    Blev medlem:
    10 december 2009
    Inlägg:
    360
    Mottagna gillanden:
    8

    MINA ENHETER

    Jaså, det är så det fungerar :-) Nej, för tillfället har jag inte använt mig av ActionbarSherlock, men jag har tänkt göra det. Appen jag gör är för personligt bruk, och jag har ICS så har inte känt behov av att ha stöd för äldre versioner. Men det skadar ju aldrig att lära sig hur ABS fungerar heller. Ska kolla på det!

    Men utan ABS, går det att göra som det är på bilden i alla fall?
     
  6. lagge92

    lagge92 Teen Droid Medlem

    Blev medlem:
    11 maj 2010
    Inlägg:
    284
    Mottagna gillanden:
    41

    MINA ENHETER

    Det verkar som att google förhindrat detta för att passa bättre med hur operativsystemet funkar angående menyknappar på äldre mobiler och inte göra användarna förvirrade (lite onödigt i min mening) Läs detta för lite mer diskussion:
    http://stackoverflow.com/questions/...-of-overflow-menu-on-devices-with-menu-button

    Jag kan rekommendera actionbar sherlock varmt, funkar mycket bra :)
     
    Last edited: 28 juni 2012
  7. Senap

    Senap Youth Droid Medlem

    Blev medlem:
    12 december 2010
    Inlägg:
    113
    Mottagna gillanden:
    13

    MINA ENHETER

    Att använda ABS för detta är lite overkill, alltså om du bara ska använda appen i ICS.

    Meny-systemet i ICS och framåt stöder dropdown menyer utan särskilt mycket meck. Lägg denna XML i menu mappen och "inflatea" den i din Activity så får du en dropdown liknande bilden du laddade upp. XML:en saknar vissa taggar (title, icon osv) men det kan du ju fixa själv utan problem i editorn.

    HTML:
    <?xml version="1.0" encoding="utf-8"?>
    <menu xmlns:android="http://schemas.android.com/apk/res/android" >
    
        <item android:id="@+id/itemTop">
            <menu>
                <item android:id="@+id/itemSub1"/>
                <item android:id="@+id/itemSub2"/>
            </menu>
        </item>
    
    </menu>