Gustavo J. Moretti
Gustavo J. Moretti

Reputation: 63

Bottom menu with ActionBarSherlock

Im trying implement the bottom menu with ActionBarSherlock. In Android 2.1, the menu are displayed, but in the Android 4, the menu is not displayed. What's wrong?

enter image description here

Below, the code:

public class Atividade extends Activity implements OnCreateOptionsMenuListener {

     ActionBarSherlock mSherlock = ActionBarSherlock.wrap(this);

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        if (android.os.Build.VERSION.SDK_INT < 11)
            // Remove title bar
            this.requestWindowFeature(Window.FEATURE_NO_TITLE);

        setTheme(R.style.Theme_Sherlock_Light_DarkActionBar);

        mSherlock.setUiOptions(ActivityInfo.UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW);        
        mSherlock.setContentView(R.layout.atividade);
        .
        .
        .               
    }

Below, the menu options:

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {

        menu.add("Agenda")
            .setIcon(R.drawable.ic_compose)
            // .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
            .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);

        menu.add("Favoritos")
        .setIcon(R.drawable.favoritos)
        .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);

        menu.add("Mapa")
            .setIcon(R.drawable.maps)
            .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);

        com.actionbarsherlock.view.SubMenu subMenu1 = menu.addSubMenu("Compartilhar");              
        subMenu1.add("Facebook");
        subMenu1.add("Twitter");
        subMenu1.add("E-Mail");
        subMenu1.add("SMS");

        MenuItem subMenu1Item = (MenuItem) subMenu1.getItem();
        subMenu1Item.setIcon(R.drawable.compartilhar);
        subMenu1Item.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);

        return true;
    }

}

Upvotes: 0

Views: 1616

Answers (2)

Bharath Lakshman
Bharath Lakshman

Reputation: 545

You might consider using HoloEverywhere (Also has demo source code) which is internally using ActionBarSherlock. And for starters you can translate(Right click -> Translate on chrome) and use this tutorial. Individual samples can be found here.

Upvotes: 1

Karakuri
Karakuri

Reputation: 38585

Make your Activity extend SherlockActivity. As Jake Wharton suggests, use the manifest to set the theme and uiOptions attributes on your activity.

Upvotes: 0

Related Questions