Niestandardowe menu rozwijane z elementu akcji (actionbarsherlock)

Potrzebujęzwyczaj menu rozwijane dołączone do elementu akcji. Udało mi się zrobić to samo dla ikony domowej, ale wygląda na to, że robi się zupełnie inaczej z innymi elementami akcji.

Znam to pytanie i odpowiedź:Jak dodać element rozwijany na pasku akcji Mój problem polega na tym, że chcę go w pełni dostosować (używam niestandardowych czcionek, będę potrzebował ikon), więc chyba nie wystarczy podmenu. I dołączając zwyczajSpinner jakoactionLayout nie wygląda jak rozwijana.

Dla ikony domowej wygląda to tak:

    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
    ArrayList<NavItem> data = new ArrayList<NavItem>();
    data.add(...);
    data.add(...);
    ActionBarNavAdapter adapter = new ActionBarNavAdapter(...);
    actionBar.setListNavigationCallbacks(adapter, new OnNavigationListener() {...});

I mogę dodać do niego swój własny projekt bez poświęcania rzeczy „rozwijanej”.Jak to zrobić z innymi elementami akcji?

EDYTOWAĆ: Znam tę aktywność za pomocąNAVIGATION_MODE_LIST używaSpinner (ListNavigationCallbacks używa aSpinnerAdapter) ale wygląda lepiej i nie wiem, skąd wziąć te wszystkie style (jeśli to tylko to), aby wyglądać tak. Mam na myśli:

Dobry -> JakNAVIGATION_MODE_LIST wygląda: zawija listę, jest dołączona pod ikoną domu.Zły -> Jak zwyczajSpinner jakoactionLayout wygląda: pasuje do szerokości ekranu z dodatkowym ciemnym tłem, zastępuje ikonę elementu akcji (jest to łatwe do zmiany), a przede wszystkim przyciemnia resztę ekranu. Wygląda raczej jak AlertDialog z niestandardową listą, a nie z rozwijanego menu.

Kod:

@Override
public boolean onPrepareOptionsMenu(Menu menu) {
    MenuItem sortItem = menu.findItem(R.id.sort);
    Spinner spinner = new Spinner(this);

    //this is the same adapter because I didn't want to spend time creating a new one
    //ActionBarNavAdapter extends SpinnerAdapter of course
    ArrayList<NavItem> data = new ArrayList<NavItem>();
    data.add(...);
    data.add(...);
    ActionBarNavAdapter adapter = new ActionBarNavAdapter(...);
    spinner.setAdapter(adapter);
    sortItem.setActionView(spinner);
    return true;
}

questionAnswers(1)

yourAnswerToTheQuestion