Example usage for android.support.v4.view MenuItemCompat setActionView

List of usage examples for android.support.v4.view MenuItemCompat setActionView

Introduction

In this page you can find the example usage for android.support.v4.view MenuItemCompat setActionView.

Prototype

public static MenuItem setActionView(MenuItem item, View view) 

Source Link

Document

Set an action view for this menu item.

Usage

From source file:org.openintents.shopping.ui.ShoppingActivity.java

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);

    /*//  w w  w  . ja v a2 s  .co m
     * int MENU_ACTION_WITH_TEXT=0;
     * 
     * //Temp- for backward compatibility with OS 3 features
     * 
     * if(!usingListSpinner()){ try{ //setting the value equivalent to
     * desired expression
     * //MenuItem.SHOW_AS_ACTION_IF_ROOM|MenuItem.SHOW_AS_ACTION_WITH_TEXT
     * java.lang.reflect.Field
     * field=MenuItem.class.getDeclaredField("SHOW_AS_ACTION_IF_ROOM");
     * MENU_ACTION_WITH_TEXT=field.getInt(MenuItem.class);
     * field=MenuItem.class.getDeclaredField("SHOW_AS_ACTION_WITH_TEXT");
     * MENU_ACTION_WITH_TEXT|=field.getInt(MenuItem.class); }catch(Exception
     * e){ //reset value irrespective of cause MENU_ACTION_WITH_TEXT=0; }
     * 
     * }
     */

    // Add menu option for auto adding items from string array in intent
    // extra if they exist
    if (mExtraItems != null) {
        menu.add(0, MENU_INSERT_FROM_EXTRAS, 0, R.string.menu_auto_add)
                .setIcon(android.R.drawable.ic_menu_upload);
    }

    MenuItem item = null;

    View searchView = mItemsView.getSearchView();
    if (searchView != null) {
        item = menu.add(0, MENU_SEARCH_ADD, 0, R.string.menu_search_add);
        MenuItemCompat.setActionView(item, searchView);
        MenuItemCompat.setShowAsAction(item, MenuItem.SHOW_AS_ACTION_ALWAYS);
    }
    mAddPanel.setVisibility(searchView == null ? View.VISIBLE : View.GONE);

    item = menu.add(0, MENU_SORT_LIST, 0, R.string.menu_sort_list)
            .setIcon(android.R.drawable.ic_menu_sort_alphabetically);
    MenuItemCompat.setShowAsAction(item, MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
    if (mListSortActionProvider == null) {
        mListSortActionProvider = new ListSortActionProvider(this);
    }
    MenuItemCompat.setActionProvider(item, mListSortActionProvider);

    // Standard menu

    // tentatively moved "new list" to drawer
    //item = menu.add(0, MENU_NEW_LIST, 0, R.string.new_list)
    //      .setIcon(R.drawable.ic_menu_add_list).setShortcut('0', 'n');
    // MenuCompat.setShowAsAction(item, MenuItem.SHOW_AS_ACTION_IF_ROOM);

    item = menu.add(0, MENU_CLEAN_UP_LIST, 0, R.string.clean_up_list).setIcon(R.drawable.ic_menu_cleanup)
            .setShortcut('1', 'c');
    MenuItemCompat.setShowAsAction(item, MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);

    menu.add(0, MENU_PICK_ITEMS, 0, R.string.menu_pick_items).setIcon(android.R.drawable.ic_menu_add)
            .setShortcut('2', 'p').
            // tentatively replaced by buttons in drawer.
            setVisible(false);

    /*
     * menu.add(0, MENU_SHARE, 0, R.string.share)
     * .setIcon(R.drawable.contact_share001a) .setShortcut('4', 's');
     */

    menu.add(0, MENU_THEME, 0, R.string.theme).setIcon(android.R.drawable.ic_menu_manage).setShortcut('3', 't');

    menu.add(0, MENU_PREFERENCES, 0, R.string.preferences).setIcon(android.R.drawable.ic_menu_preferences)
            .setShortcut('4', 'p');

    menu.add(0, MENU_RENAME_LIST, 0, R.string.rename_list).setIcon(android.R.drawable.ic_menu_edit)
            .setShortcut('5', 'r');

    menu.add(0, MENU_DELETE_LIST, 0, R.string.delete_list).setIcon(android.R.drawable.ic_menu_delete);

    menu.add(0, MENU_SEND, 0, R.string.send).setIcon(android.R.drawable.ic_menu_send).setShortcut('7', 's');

    if (addLocationAlertPossible()) {
        menu.add(0, MENU_ADD_LOCATION_ALERT, 0, R.string.shopping_add_alert)
                .setIcon(android.R.drawable.ic_menu_mylocation).setShortcut('8', 'l');
    }

    menu.add(0, MENU_MARK_ALL_ITEMS, 0, R.string.mark_all_items).setIcon(android.R.drawable.ic_menu_agenda)
            .setShortcut('9', 'm');

    menu.add(0, MENU_UNMARK_ALL_ITEMS, 0, R.string.unmark_all_items);

    menu.add(0, MENU_SYNC_WEAR, 0, R.string.sync_wear);

    // Add distribution menu items last.
    mDistribution.onCreateOptionsMenu(menu);

    // NOTE:
    // Dynamically added menu items are included in onPrepareOptionsMenu()
    // instead of here!
    // (Explanation see there.)

    return true;
}

From source file:org.brandroid.openmanager.activities.OpenExplorer.java

@Override
public boolean onPrepareOptionsMenu(Menu menu) {
    super.onPrepareOptionsMenu(menu);
    //Logger.LogVerbose("OpenExplorer.onPrepareOptionsMenu");

    if (getClipboard() != null) {
        MenuUtils.setMenuChecked(menu, getClipboard().isMultiselect(), R.id.menu_multi);
        MenuUtils.setMenuVisible(menu, getClipboard().size() > 0, R.id.content_paste);
    } else/*ww  w  . ja v  a2s . c  om*/
        MenuUtils.setMenuVisible(menu, false, R.id.content_paste);

    MenuUtils.setMenuVisible(menu, IS_DEBUG_BUILD && !isBlackBerry(), R.id.menu_debug);

    if (!BEFORE_HONEYCOMB && USE_ACTION_BAR) {
        //MenuUtils.setMenuVisible(menu, false, R.id.title_menu);
        if (menu.findItem(R.id.menu_search) != null) {
            if (mSearchView == null)
                mSearchView = SearchViewCompat.newSearchView(this);
            MenuItem item = menu.findItem(R.id.menu_search);
            MenuItemCompat.setShowAsAction(item,
                    MenuItemCompat.SHOW_AS_ACTION_ALWAYS | MenuItemCompat.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
            MenuItemCompat.setActionView(item, mSearchView);
            if (mSearchView != null)
                SearchViewCompat.setOnQueryTextListener(mSearchView,
                        new SearchViewCompat.OnQueryTextListenerCompat() {
                            public boolean onQueryTextSubmit(String query) {
                                mSearchView.clearFocus();
                                Intent intent = new Intent();
                                intent.setAction(Intent.ACTION_SEARCH);
                                Bundle appData = new Bundle();
                                appData.putString("path", getDirContentFragment(false).getPath().getPath());
                                intent.putExtra(SearchManager.APP_DATA, appData);
                                intent.putExtra(SearchManager.QUERY, query);
                                handleIntent(intent);
                                return true;
                            }

                            public boolean onQueryTextChange(String newText) {
                                return false;
                            }
                        });
        }
    }

    MenuUtils.setMenuChecked(menu, USE_SPLIT_ACTION_BAR, R.id.menu_view_split);
    //MenuUtils.setMenuChecked(menu, mLogFragment != null && mLogFragment.isVisible(), R.id.menu_view_logview);
    MenuUtils.setMenuChecked(menu, getPreferences().getBoolean("global", "pref_fullscreen", false),
            R.id.menu_view_fullscreen);
    if (!getResources().getBoolean(R.bool.allow_fullscreen))
        MenuUtils.setMenuVisible(menu, false, R.id.menu_view_fullscreen);
    else
        MenuUtils.setMenuChecked(menu, IS_FULL_SCREEN, R.id.menu_view_fullscreen);
    if (getWindowWidth() < 500 && Build.VERSION.SDK_INT < 14) // ICS can split the actionbar
    {
        MenuUtils.setMenuShowAsAction(menu, 0 // Never
                , R.id.menu_sort, R.id.menu_view, R.id.menu_new_folder);
        MenuUtils.setMenuVisible(menu, true, R.id.menu_more);
    }

    //if(BEFORE_HONEYCOMB)
    {
        OpenFragment f = getSelectedFragment();
        if (f != null && f.hasOptionsMenu() && !f.isDetached() && f.isVisible())
            f.onPrepareOptionsMenu(menu);
    }

    if (menu != null && menu.findItem(R.id.content_paste) != null && getClipboard() != null
            && getClipboard().size() > 0) {
        SubMenu sub = menu.findItem(R.id.content_paste).getSubMenu();
        if (sub != null) {
            int i = 0;
            for (final OpenPath item : getClipboard().getAll()) {
                sub.add(Menu.CATEGORY_CONTAINER, i++, i, item.getName()).setCheckable(true).setChecked(true)
                        .setOnMenuItemClickListener(new OnMenuItemClickListener() {
                            @Override
                            public boolean onMenuItemClick(MenuItem menuitem) {
                                getClipboard().remove(item);
                                return true;
                            }
                        }).setIcon(ThumbnailCreator.getDefaultResourceId(item, 32, 32));
            }
        }
    }

    if (!CAN_DO_CAROUSEL)
        MenuUtils.setMenuVisible(menu, false, R.id.menu_view_carousel);

    //if(BEFORE_HONEYCOMB)
    //   setupBaseBarButtons(menu, false);

    return true;
}