Java 类android.widget.PopupMenu 实例源码

项目:andcouchbaseentity    文件:TaskActivity.java   
private void setListItemLongClick(ListView listView) {
    listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
        @Override
        public boolean onItemLongClick(AdapterView<?> parent, View view, final int pos, long id) {
            PopupMenu popup = new PopupMenu(TaskActivity.this, view);
            popup.inflate(R.menu.task_item);
            popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
                @Override
                public boolean onMenuItemClick(MenuItem item) {
                    TaskEntity task = (TaskEntity) mAdapter.getItem(pos - 1);
                    handleTaskPopupAction(item, task);
                    return true;
                }
            });
            popup.show();
            return true;
        }
    });
}
项目:BBSSDK-for-Android    文件:Theme1ForumThreadPullToRequestView.java   
public void popFilterMenu(View rootview) {
    int style = ResHelper.getStyleRes(getContext(), "BBS_PopupMenu");
    Context wrapper = new ContextThemeWrapper(getContext(), style);
    //Creating the instance of PopupMenu
    PopupMenu popup = new PopupMenu(wrapper, rootview);
    //Inflating the Popup using xml file
    popup.getMenuInflater().inflate(PageForumThreadDetail.getMenuRes(getContext(), "bbs_popup_forumthread"), popup.getMenu());

    //registering popup with OnMenuItemClickListener
    popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
        public boolean onMenuItemClick(MenuItem item) {
            //only one menu item.
            if (item.getItemId() == ResHelper.getIdRes(getContext(), "action_arrangebycomment")) {
                orderType = ThreadListOrderType.LAST_POST;
                performPullingDown(true);
            } else if (item.getItemId() == ResHelper.getIdRes(getContext(), "action_arrangebypost")) {
                orderType = ThreadListOrderType.CREATE_ON;
                performPullingDown(true);
            }
            return true;
        }
    });
    popup.show();
}
项目:xlight_android_native    文件:ShareMainFragment.java   
private void showPopup() {
    PopupMenu popup = new PopupMenu(getActivity(), btn_more);
    //Inflating the Popup using xml file
    popup.getMenuInflater()
            .inflate(R.menu.share_menu, popup.getMenu());

    //registering popup with OnMenuItemClickListener
    popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
        public boolean onMenuItemClick(MenuItem item) {
            switch (item.getItemId()) {
                case R.id.menu_send:
                    initShare(1);
                    break;
                case R.id.menu_receive:
                    initShare(0);
                    break;
            }
            return true;
        }
    });
    popup.show();
}
项目:javaide    文件:LogLineViewHolder.java   
@Override
public boolean onLongClick(View v) {
    PopupMenu menu = new PopupMenu(v.getContext(), v);
    menu.getMenu().add(0, CONTEXT_MENU_FILTER_ID, 0, R.string.filter_choice);
    menu.getMenu().add(0, CONTEXT_MENU_COPY_ID, 0, R.string.copy_to_clipboard);
    menu.setOnMenuItemClickListener(LogLineViewHolder.this);
    menu.show();
    return true;
}
项目:xifan    文件:StatusAdapter.java   
private void showPopupMenu(View view, final StatusRes statusRes) {
    PopupMenu popupMenu = new PopupMenu(mContext, view);
    if (statusRes.isIs_self()) {
        popupMenu.inflate(R.menu.menu_item_status_self);
    } else {
        popupMenu.inflate(R.menu.menu_item_status);
    }
    popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
        @Override
        public boolean onMenuItemClick(MenuItem menuItem) {
            switch (menuItem.getItemId()) {
                case R.id.action_delete:
                    showDeleteStatusDailog(statusRes);
                    break;
                case R.id.action_copy:
                    copyStatus(statusRes);
                    break;
                case R.id.action_share:
                    break;
            }
            return false;
        }
    });
    popupMenu.show();
}
项目:BookyMcBookface    文件:ReaderActivity.java   
protected void showToc() {
    Map<String,String> tocmap = book.getToc();
    PopupMenu tocmenu = new PopupMenu(this, findViewById(R.id.contents_button));
    for (final String point: tocmap.keySet()) {
        String text = tocmap.get(point);
        MenuItem m = tocmenu.getMenu().add(text);
        //Log.d("EPUB", "TOC2: " + text + ". File: " + point);
        m.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem menuItem) {
                handleLink(point);
                return true;
            }
        });
    }
    if (tocmap.size()==0) {
        tocmenu.getMenu().add(R.string.no_toc_found);
    }

    tocmenu.show();

}
项目:BookyMcBookface    文件:GetBooksActivity.java   
@Override
public boolean onLongClick(final View v) {

    PopupMenu p = new PopupMenu(this, v);
    MenuItem m = p.getMenu().add("Delete");

    m.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
        @Override
        public boolean onMenuItemClick(MenuItem item) {
            list.removeView(v);
            db.deleteWebSite((String)v.getTag());
            return true;
        }
    });
    p.show();
    return true;
}
项目:LaunchTime    文件:MainActivity.java   
public static void setForceShowIcon(PopupMenu popupMenu) {
    try {
        Field[] fields = popupMenu.getClass().getDeclaredFields();
        for (Field field : fields) {
            if ("mPopup".equals(field.getName())) {
                field.setAccessible(true);
                Object menuPopupHelper = field.get(popupMenu);
                Class<?> classPopupHelper = Class.forName(menuPopupHelper
                        .getClass().getName());
                Method setForceIcons = classPopupHelper.getMethod(
                        "setForceShowIcon", boolean.class);
                setForceIcons.invoke(menuPopupHelper, true);
                break;
            }
        }
    } catch (Throwable e) {
        e.printStackTrace();
    }
}
项目:boohee_v5.6    文件:WebFavoriteFragment.java   
protected void showPopupMenu(View view, final int position) {
    final FavoriteArticle article = (FavoriteArticle) getItem(position);
    PopupMenu popup = new PopupMenu(this.context, view);
    popup.getMenu().add(0, 0, 0, "取消收藏");
    popup.show();
    popup.setOnMenuItemClickListener(new OnMenuItemClickListener() {
        public boolean onMenuItemClick(MenuItem item) {
            switch (item.getItemId()) {
                case 0:
                    WebFavoriteFragment.this.deleteFavoriteArticle(article, position);
                    break;
            }
            return false;
        }
    });
}
项目:okwallet    文件:BlockListFragment.java   
@Override
public void onBlockMenuClick(final View view, final StoredBlock block) {
    final PopupMenu popupMenu = new PopupMenu(activity, view);
    popupMenu.inflate(R.menu.blocks_context);
    popupMenu.getMenu().findItem(R.id.blocks_context_browse).setVisible(Constants.ENABLE_BROWSE);
    popupMenu.setOnMenuItemClickListener(new OnMenuItemClickListener() {
        @Override
        public boolean onMenuItemClick(final MenuItem item) {
            switch (item.getItemId()) {
            case R.id.blocks_context_browse:
                final String blockHash = block.getHeader().getHashAsString();
                final Uri blockExplorerUri = config.getBlockExplorer();
                log.info("Viewing block {} on {}", blockHash, blockExplorerUri);
                startActivity(new Intent(Intent.ACTION_VIEW,
                        Uri.withAppendedPath(blockExplorerUri, "block/" + blockHash)));
                return true;
            }
            return false;
        }
    });
    popupMenu.show();
}
项目:CowBit    文件:CowDetailsActivity.java   
public void pickDateButtonClick(View view) {
        //Creating the instance of PopupMenu
        PopupMenu popup = new PopupMenu(CowDetailsActivity.this, pickDateButton);
        //Inflating the Popup using xml file
        popup.getMenuInflater().inflate(R.menu.date_popup_menu, popup.getMenu());

        //registering popup with OnMenuItemClickListener
        popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
            public boolean onMenuItemClick(MenuItem item) {
                popupSelectedItemId = item.getItemId();
                DatePickerFragment newFragment = new DatePickerFragment();
                newFragment.setListener(CowDetailsActivity.this);

/*                Bundle args = new Bundle();
                args.putInt("num", num);
                newFragment.setArguments(args);*/

                newFragment.show(getFragmentManager(), "datePickr");

                return true;
            }
        });

        popup.show();//showing popup menu
    }
项目:Tusky    文件:ComposeActivity.java   
private void onMediaClick(QueuedMedia item, View view) {
    PopupMenu popup = new PopupMenu(this, view);
    final int addCaptionId = 1;
    final int removeId = 2;
    popup.getMenu().add(0, addCaptionId, 0, R.string.action_set_caption);
    popup.getMenu().add(0, removeId, 0, R.string.action_remove_media);
    popup.setOnMenuItemClickListener(menuItem -> {
        switch (menuItem.getItemId()) {
            case addCaptionId:
                makeCaptionDialog(item);
                break;
            case removeId:
                removeMediaFromQueue(item);
                break;
        }
        return true;
    });
    popup.show();
}
项目:RNLearn_Project1    文件:NativeViewHierarchyManager.java   
/**
 * Show a {@link PopupMenu}.
 *
 * @param reactTag the tag of the anchor view (the PopupMenu is displayed next to this view); this
 *        needs to be the tag of a native view (shadow views can not be anchors)
 * @param items the menu items as an array of strings
 * @param success will be called with the position of the selected item as the first argument, or
 *        no arguments if the menu is dismissed
 */
public void showPopupMenu(int reactTag, ReadableArray items, Callback success) {
  UiThreadUtil.assertOnUiThread();
  View anchor = mTagsToViews.get(reactTag);
  if (anchor == null) {
    throw new JSApplicationIllegalArgumentException("Could not find view with tag " + reactTag);
  }
  PopupMenu popupMenu = new PopupMenu(getReactContextForView(reactTag), anchor);

  Menu menu = popupMenu.getMenu();
  for (int i = 0; i < items.size(); i++) {
    menu.add(Menu.NONE, Menu.NONE, i, items.getString(i));
  }

  PopupMenuCallbackHandler handler = new PopupMenuCallbackHandler(success);
  popupMenu.setOnMenuItemClickListener(handler);
  popupMenu.setOnDismissListener(handler);

  popupMenu.show();
}
项目:RNLearn_Project1    文件:NativeViewHierarchyManager.java   
/**
 * Show a {@link PopupMenu}.
 *
 * @param reactTag the tag of the anchor view (the PopupMenu is displayed next to this view); this
 *        needs to be the tag of a native view (shadow views can not be anchors)
 * @param items the menu items as an array of strings
 * @param success will be called with the position of the selected item as the first argument, or
 *        no arguments if the menu is dismissed
 */
public void showPopupMenu(int reactTag, ReadableArray items, Callback success) {
  UiThreadUtil.assertOnUiThread();
  View anchor = mTagsToViews.get(reactTag);
  if (anchor == null) {
    throw new JSApplicationIllegalArgumentException("Could not find view with tag " + reactTag);
  }
  PopupMenu popupMenu = new PopupMenu(getReactContextForView(reactTag), anchor);

  Menu menu = popupMenu.getMenu();
  for (int i = 0; i < items.size(); i++) {
    menu.add(Menu.NONE, Menu.NONE, i, items.getString(i));
  }

  PopupMenuCallbackHandler handler = new PopupMenuCallbackHandler(success);
  popupMenu.setOnMenuItemClickListener(handler);
  popupMenu.setOnDismissListener(handler);

  popupMenu.show();
}
项目:Android-Example-HLS-ExoPlayer    文件:PlayerActivity.java   
public void showVerboseLogPopup(View v) {
    PopupMenu popup = new PopupMenu(this, v);
    Menu menu = popup.getMenu();
    menu.add(Menu.NONE, 0, Menu.NONE, R.string.logging_normal);
    menu.add(Menu.NONE, 1, Menu.NONE, R.string.logging_verbose);
    menu.setGroupCheckable(Menu.NONE, true, true);
    menu.findItem((VerboseLogUtil.areAllTagsEnabled()) ? 1 : 0).setChecked(true);
    popup.setOnMenuItemClickListener(new OnMenuItemClickListener() {
        @Override
        public boolean onMenuItemClick(MenuItem item) {
            if (item.getItemId() == 0) {
                VerboseLogUtil.setEnableAllTags(false);
            } else {
                VerboseLogUtil.setEnableAllTags(true);
            }
            return true;
        }
    });
    popup.show();
}
项目:TenguChat    文件:ConversationFragment.java   
private void showBlockSubmenu(View view) {
    final Jid jid = conversation.getJid();
        if (jid.isDomainJid()) {
            BlockContactDialog.show(activity, conversation);
        } else {
            PopupMenu popupMenu = new PopupMenu(activity, view);
            popupMenu.inflate(R.menu.block);
            popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
                @Override
                public boolean onMenuItemClick(MenuItem menuItem) {
                    Blockable blockable;
                    switch (menuItem.getItemId()) {
                        case R.id.block_domain:
                            blockable = conversation.getAccount().getRoster().getContact(jid.toDomainJid());
                            break;
                        default:
                            blockable = conversation;
                    }
                    BlockContactDialog.show(activity, blockable);
                    return true;
                }
            });
            popupMenu.show();
        }
}
项目:Ymir    文件:ListLayoutConfigAdapter.java   
@Override
public void onClick(View v) {
          RecordMenuData menuData = (RecordMenuData) v.getTag();
          YmirMenuItem actionItem = menuData.getActionItem();
          IEntityRecord record = menuData.getRecord();

          if (actionItem == overflowMenuItem) {
              PopupMenu popup = new PopupMenu(context, v);
              popup.setOnMenuItemClickListener(new PopupMenuItemClickListner(menuData, provider));
              Menu popupMenu = popup.getMenu();

              List<YmirMenuItem> items = menuData.getItems();
              for (int i = 0; i < items.size(); i++) {
                  YmirMenuItem menuItem = items.get(i);
                  popupMenu.add(Menu.NONE, i, Menu.NONE, menuItem.getTitle());
              }

              popup.show();
              return;
          }

          provider.onRecordActionItemSelected(record, actionItem);
}
项目:RespawnIRC-Android    文件:ShowTopicActivity.java   
@Override
public boolean onLongClick(View buttonView) {
    PopupMenu popup = new PopupMenu(ShowTopicActivity.this, buttonView);
    MenuItem postAsModoItem;

    popup.getMenuInflater().inflate(R.menu.menu_sendmessage_action, popup.getMenu());
    popup.setOnMenuItemClickListener(onSendmessageActionClickedListener);

    postAsModoItem = popup.getMenu().findItem(R.id.enable_postasmodo_sendmessage_action);
    postAsModoItem.setChecked(PrefsManager.getBool(PrefsManager.BoolPref.Names.POST_AS_MODO_WHEN_POSSIBLE));
    postAsModoItem.setEnabled(userCanPostAsModo);
    popup.getMenu().findItem(R.id.action_past_last_message_sended_showtopic).setEnabled(!lastMessageSended.isEmpty());

    popup.show();

    return true;
}
项目:ExoPlayerController    文件:PlayerActivity.java   
public void showVerboseLogPopup(View v) {
    PopupMenu popup = new PopupMenu(this, v);
    Menu menu = popup.getMenu();
    menu.add(Menu.NONE, 0, Menu.NONE, R.string.logging_normal);
    menu.add(Menu.NONE, 1, Menu.NONE, R.string.logging_verbose);
    menu.setGroupCheckable(Menu.NONE, true, true);
    menu.findItem((VerboseLogUtil.areAllTagsEnabled()) ? 1 : 0).setChecked(true);
    popup.setOnMenuItemClickListener(new OnMenuItemClickListener() {
        @Override
        public boolean onMenuItemClick(MenuItem item) {
            if (item.getItemId() == 0) {
                VerboseLogUtil.setEnableAllTags(false);
            } else {
                VerboseLogUtil.setEnableAllTags(true);
            }
            return true;
        }
    });
    popup.show();
}
项目:ExoPlayerController    文件:PlayerActivity.java   
private void configurePopupWithTracks(PopupMenu popup, final OnMenuItemClickListener customActionClickListener,
        final int trackType) {
    if (player == null) {
        return;
    }
    int trackCount = player.getTrackCount(trackType);
    if (trackCount == 0) {
        return;
    }
    popup.setOnMenuItemClickListener(new OnMenuItemClickListener() {
        @Override
        public boolean onMenuItemClick(MenuItem item) {
            return (customActionClickListener != null && customActionClickListener.onMenuItemClick(item))
                    || onTrackItemClick(item, trackType);
        }
    });
    Menu menu = popup.getMenu();
    // ID_OFFSET ensures we avoid clashing with Menu.NONE (which equals 0)
    menu.add(MENU_GROUP_TRACKS, DemoPlayer.TRACK_DISABLED + ID_OFFSET, Menu.NONE, R.string.off);
    for (int i = 0; i < trackCount; i++) {
        menu.add(MENU_GROUP_TRACKS, i + ID_OFFSET, Menu.NONE, buildTrackName(player.getTrackFormat(trackType, i)));
    }
    menu.setGroupCheckable(MENU_GROUP_TRACKS, true, true);
    menu.findItem(player.getSelectedTrack(trackType) + ID_OFFSET).setChecked(true);
}
项目:react-native-ibeacon-android    文件:NativeViewHierarchyManager.java   
/**
 * Show a {@link PopupMenu}.
 *
 * @param reactTag the tag of the anchor view (the PopupMenu is displayed next to this view); this
 *        needs to be the tag of a native view (shadow views can not be anchors)
 * @param items the menu items as an array of strings
 * @param success will be called with the position of the selected item as the first argument, or
 *        no arguments if the menu is dismissed
 */
public void showPopupMenu(int reactTag, ReadableArray items, Callback success) {
  UiThreadUtil.assertOnUiThread();
  View anchor = mTagsToViews.get(reactTag);
  if (anchor == null) {
    throw new JSApplicationIllegalArgumentException("Could not find view with tag " + reactTag);
  }
  PopupMenu popupMenu = new PopupMenu(getReactContextForView(reactTag), anchor);

  Menu menu = popupMenu.getMenu();
  for (int i = 0; i < items.size(); i++) {
    menu.add(Menu.NONE, Menu.NONE, i, items.getString(i));
  }

  PopupMenuCallbackHandler handler = new PopupMenuCallbackHandler(success);
  popupMenu.setOnMenuItemClickListener(handler);
  popupMenu.setOnDismissListener(handler);

  popupMenu.show();
}
项目:k3b-geoHelper    文件:HistoryEditText.java   
protected void showHistory() {
    SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(mContext);
    List<String> items = getHistory(sharedPref);

    PopupMenu popup = new PopupMenu(mContext, mEditor);
    Menu root = popup.getMenu();
    int len = items.size();
    if (len > 10) len = 10;
    for (int i = 0; i < len; i++) {
        String text = items.get(i).trim();

        if ((text != null) && (text.length() > 0)) {
            root.add(text);
        }
    }

    popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
        @Override
        public boolean onMenuItemClick(MenuItem item) {
            mEditor.setText(item.getTitle());
            mEditor.setSelection(0, mEditor.length());
            return true;
        }
    });
    popup.show();
}
项目:PainlessMusicPlayer    文件:AlbumsRecyclerAdapter.java   
private void onMenuClick(@NonNull final View btnView, final int position) {
    final PopupMenu popup = new PopupMenu(btnView.getContext(), btnView);
    final Menu popupMenu = popup.getMenu();

    final MenuInflater inflater = popup.getMenuInflater();
    inflater.inflate(R.menu.list_item_album, popupMenu);

    final long id = getItemId(position);
    final Cursor item = getCursor();

    if (item.moveToPosition(position)) {
        final String albumName = item.getString(AlbumsProvider.COLUMN_ALBUM);
        popup.setOnMenuItemClickListener(menuItem -> onMenuItemClick(menuItem, id, albumName));
        popup.show();
    }
}
项目:ultra-music-player    文件:RecyclerSongAdapter.java   
public void showMenu(View v) {
    currentSong = songs.get(songPosition);
    PopupMenu popup = new PopupMenu(context, v);
    popup.setOnMenuItemClickListener(this);
    popup.inflate(R.menu.menu_songlist_pop);
    // Force icons to show
    Object menuHelper;
    Class[] argTypes;
    try {
        Field fMenuHelper = PopupMenu.class.getDeclaredField("mPopup");
        fMenuHelper.setAccessible(true);
        menuHelper = fMenuHelper.get(popup);
        argTypes = new Class[]{boolean.class};
        menuHelper.getClass().getDeclaredMethod("setForceShowIcon", argTypes).invoke(menuHelper, true);
    } catch (Exception e) {
        Log.w("TAG", "error forcing menu icons to show", e);
        popup.show();
        return;
    }
    popup.show();
}
项目:ultra-music-player    文件:AlbumAdapter.java   
public void showMenu(View v) {
    PopupMenu popup = new PopupMenu(activity, v);
    popup.setOnMenuItemClickListener(this);
    popup.inflate(R.menu.album_popoup_menu);
    // Force icons to show
    Object menuHelper;
    Class[] argTypes;
    try {
        Field fMenuHelper = PopupMenu.class.getDeclaredField("mPopup");
        fMenuHelper.setAccessible(true);
        menuHelper = fMenuHelper.get(popup);
        argTypes = new Class[]{boolean.class};
        menuHelper.getClass().getDeclaredMethod("setForceShowIcon", argTypes).invoke(menuHelper, true);
    } catch (Exception e) {
        Log.w("TAG", "error forcing menu icons to show", e);
        popup.show();
        return;
    }
    popup.show();
}
项目:ultra-music-player    文件:FavouritesAdapter.java   
public void showMenu(View v) {
    PopupMenu popup = new PopupMenu(context, v);
    popup.setOnMenuItemClickListener(this);
    popup.inflate(R.menu.menu_fav_song_list_pop);
    // Force icons to show
    Object menuHelper;
    Class[] argTypes;
    try {
        Field fMenuHelper = PopupMenu.class.getDeclaredField("mPopup");
        fMenuHelper.setAccessible(true);
        menuHelper = fMenuHelper.get(popup);
        argTypes = new Class[]{boolean.class};
        menuHelper.getClass().getDeclaredMethod("setForceShowIcon", argTypes).invoke(menuHelper, true);
    } catch (Exception e) {
        Log.w("TAG", "error forcing menu icons to show", e);
        popup.show();
        return;
    }
    popup.show();
}
项目:ultra-music-player    文件:PlayListAdapter.java   
public void showMenu(View v) {
    PopupMenu popup = new PopupMenu(context, v);
    popup.setOnMenuItemClickListener(this);
    popup.inflate(R.menu.playlist_popup_menu);
    // Force icons to show
    Object menuHelper;
    Class[] argTypes;
    try {
        Field fMenuHelper = PopupMenu.class.getDeclaredField("mPopup");
        fMenuHelper.setAccessible(true);
        menuHelper = fMenuHelper.get(popup);
        argTypes = new Class[]{boolean.class};
        menuHelper.getClass().getDeclaredMethod("setForceShowIcon", argTypes).invoke(menuHelper, true);
    } catch (Exception e) {
        e.printStackTrace();
        popup.show();
        return;
    }
    popup.show();
}
项目:ultra-music-player    文件:FullScreenPlayListSongsAdapter.java   
public void showMenu(View v) {
    PopupMenu popup = new PopupMenu(activity, v);
    popup.setOnMenuItemClickListener(this);
    popup.inflate(R.menu.song_list);
    // Force icons to show
    Object menuHelper;
    Class[] argTypes;
    try {
        Field fMenuHelper = PopupMenu.class.getDeclaredField("mPopup");
        fMenuHelper.setAccessible(true);
        menuHelper = fMenuHelper.get(popup);
        argTypes = new Class[]{boolean.class};
        menuHelper.getClass().getDeclaredMethod("setForceShowIcon", argTypes).invoke(menuHelper, true);
    } catch (Exception e) {
        Log.w("TAG", "error forcing menu icons to show", e);
        popup.show();
        return;
    }
    popup.show();
}
项目:science-journal    文件:ExperimentDetailsFragment.java   
private void setupTrialHeader(DetailsViewHolder holder, final ExperimentDetailItem item) {
    holder.timeHeader.setTime(item.getViewType() == VIEW_TYPE_RUN_CARD ?
            item.getTrial().getFirstTimestamp() : item.getLabel().getTimeStamp());

    ColorUtils.colorDrawable(holder.captionIcon.getContext(),
            holder.captionIcon.getDrawable(), R.color.text_color_light_grey);
    ColorUtils.colorDrawable(holder.menuButton.getContext(),
            holder.menuButton.getDrawable(), R.color.text_color_light_grey);

    holder.menuButton.setOnClickListener(view -> {
        Context context = holder.menuButton.getContext();
        PopupMenu popup = new PopupMenu(context, holder.menuButton);
        setupTrialMenu(item, popup);
        popup.show();
    });
}
项目:science-journal    文件:ExperimentDetailsFragment.java   
private void setupTrialMenu(ExperimentDetailItem item, PopupMenu popup) {
    popup.getMenuInflater().inflate(R.menu.menu_experiment_trial, popup.getMenu());
    boolean archived = item.getTrial().isArchived();
    popup.getMenu().findItem(R.id.menu_item_archive).setVisible(!archived);
    popup.getMenu().findItem(R.id.menu_item_unarchive).setVisible(archived);
    popup.getMenu().findItem(R.id.menu_item_delete).setEnabled(archived);
    popup.setOnMenuItemClickListener(menuItem -> {
        if (menuItem.getItemId() == R.id.menu_item_archive) {
            mParentReference.get().setTrialArchived(item.getTrial(), true);
            return true;
        } else if (menuItem.getItemId() == R.id.menu_item_unarchive) {
            mParentReference.get().setTrialArchived(item.getTrial(), false);
            return true;
        } else if (menuItem.getItemId() == R.id.menu_item_delete) {
            if (mParentReference.get() != null) {
                mParentReference.get().deleteTrial(item.getTrial());
            }
            return true;
        }
        return false;
    });
}
项目:AndroidProjectsClient    文件:RepoProjectsFragment.java   
public void showMenu(View view, Project project) {
    final PopupMenu pm = new PopupMenu(getContext(), view);
    pm.inflate(R.menu.menu_project);
    if(project.getState() == State.OPEN) {
        pm.getMenu().add(0, R.id.menu_toggle_project_state, 0, R.string.menu_close_project);
    } else {
        pm.getMenu().add(0, R.id.menu_toggle_project_state, 0, R.string.menu_reopen_project);
    }
    pm.setOnMenuItemClickListener(item -> {
        switch(item.getItemId()) {
            case R.id.menu_toggle_project_state:
                toggleProjectState(project);
                break;
            case R.id.menu_edit_project:
                editProject(project, view);
                break;
            case R.id.menu_delete_project:
                deleteProject(project);
                break;
        }
        return true;
    });
    pm.show();
}
项目:AndroidProjectsClient    文件:RepoIssuesFragment.java   
public void openMenu(View view, final Issue issue) {
    final PopupMenu menu = new PopupMenu(getContext(), view);
    menu.inflate(R.menu.menu_issue);
    menu.getMenu().add(0, R.id.menu_toggle_issue_state, Menu.NONE,
            issue.isClosed() ? R.string.menu_reopen_issue : R.string.menu_close_issue
    );
    menu.getMenu().add(0, R.id.menu_edit_issue, Menu.NONE, getString(R.string.menu_edit_issue));

    menu.setOnMenuItemClickListener(menuItem -> {
        switch(menuItem.getItemId()) {
            case R.id.menu_toggle_issue_state:
                toggleIssueState(issue);
                break;
            case R.id.menu_edit_issue:
                editIssue(view, issue);
                break;
            case R.id.menu_fullscreen:
                IntentHandler.showFullScreen(getContext(), issue.getBody(),
                        issue.getRepoFullName(), getFragmentManager()
                );
                break;
        }
        return false;
    });
    menu.show();
}
项目:stockita-point-of-sale    文件:AdapterViewUsersList.java   
@Override
protected void onFinishInflate() {
    super.onFinishInflate();

    // Initialize the PopupMenu object, and pass the View object in the second argument
    mPopupMenu = new PopupMenu(getContext(), mPopupMenuViewObject);

    // Get the menu inflater to inflate the xml file
    mPopupMenu.getMenuInflater().inflate(R.menu.popup_menu_adapter_view_item_list, mPopupMenu.getMenu());

    /**
     * Now we need to add a click listener on the view object, so when the user click
     * this view object the menu will popup, this can be done using show() method.
     */
    mPopupMenuViewObject.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View view) {

            // Invoke show() to popup the menu.
            mPopupMenu.show();
        }
    });
}
项目:stockita-point-of-sale    文件:AdapterViewSalesHeaderList.java   
@Override
protected void onFinishInflate() {
    super.onFinishInflate();

    // Initialize the PopupMenu object, and pass the View object in the second argument
    mPopupMenu = new PopupMenu(getContext(), mHeaderPopupMenu);

    // Get the menu inflater to inflate the xml file
    mPopupMenu.getMenuInflater().inflate(R.menu.popup_menu_adapter_view_sales_header, mPopupMenu.getMenu());

    /**
     * Now we need to add a click listener on the view object, so when the user click
     * this view object the menu will popup, this can be done using show() method.
     */
    mHeaderPopupMenu.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View view) {

            // Invoke show() to popup the menu.
            mPopupMenu.show();
        }
    });

}
项目:stockita-point-of-sale    文件:AdapterViewItemList.java   
@Override
protected void onFinishInflate() {
    super.onFinishInflate();

    // Initialize the PopupMenu object, and pass the View object in the second argument
    mPopupMenu = new PopupMenu(getContext(), mPopupMenuViewObject);

    // Get the menu inflater to inflate the xml file
    mPopupMenu.getMenuInflater().inflate(R.menu.popup_menu_adapter_view_item_list, mPopupMenu.getMenu());

    /**
     * Now we need to add a click listener on the view object, so when the user click
     * this view object the menu will popup, this can be done using show() method.
     */
    mPopupMenuViewObject.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View view) {

            // Invoke show() to popup the menu.
            mPopupMenu.show();
        }
    });

}
项目:react-native-box-loaders    文件:NativeViewHierarchyManager.java   
/**
 * Show a {@link PopupMenu}.
 *
 * @param reactTag the tag of the anchor view (the PopupMenu is displayed next to this view); this
 *        needs to be the tag of a native view (shadow views can not be anchors)
 * @param items the menu items as an array of strings
 * @param success will be called with the position of the selected item as the first argument, or
 *        no arguments if the menu is dismissed
 */
public void showPopupMenu(int reactTag, ReadableArray items, Callback success) {
  UiThreadUtil.assertOnUiThread();
  View anchor = mTagsToViews.get(reactTag);
  if (anchor == null) {
    throw new JSApplicationIllegalArgumentException("Could not find view with tag " + reactTag);
  }
  PopupMenu popupMenu = new PopupMenu(getReactContextForView(reactTag), anchor);

  Menu menu = popupMenu.getMenu();
  for (int i = 0; i < items.size(); i++) {
    menu.add(Menu.NONE, Menu.NONE, i, items.getString(i));
  }

  PopupMenuCallbackHandler handler = new PopupMenuCallbackHandler(success);
  popupMenu.setOnMenuItemClickListener(handler);
  popupMenu.setOnDismissListener(handler);

  popupMenu.show();
}
项目:delern    文件:DeckViewHolder.java   
/**
 * Method shows Popup menu on chosen deck menu.
 * Access to method is package-private due to ButterKnife
 *
 * @param v clicked view
 */
@OnClick(R.id.deck_popup_menu)
/* default */ void showPopup(final View v) {
    PopupMenu popup = new PopupMenu(v.getContext(), v);
    popup.setOnMenuItemClickListener(this);
    MenuInflater inflater = popup.getMenuInflater();
    inflater.inflate(R.menu.deck_menu, popup.getMenu());
    manageSharingMenu(popup.getMenu());
    // mDeckAccess can be null due to asynchronous operations.
    if (mDeckAccess != null) {
        popup.show();
        return;
    }
    Toast.makeText(mDeckTextView.getContext(),
            R.string.not_all_data_loaded_user_warning, Toast.LENGTH_SHORT).show();
    LOGGER.warn("mDeckAccess is null in DeckViewHolder", new Throwable());
}
项目:cidrawing    文件:MainActivity.java   
public void select(View v) {
    PopupMenu popup = new PopupMenu(this, v);
    popup.getMenuInflater().inflate(R.menu.menu_select, popup.getMenu());
    popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
        @Override
        public boolean onMenuItemClick(MenuItem item) {
            PointerMode mode = new PointerMode();
            switch (item.getItemId()) {
                case R.id.rect_select_menu:
                    mode.setSelectionMode(new RectSelectionMode());
                    break;
                case R.id.oval_select_menu:
                    mode.setSelectionMode(new OvalSelectionMode());
                    break;
                case R.id.lasso_menu:
                    mode.setSelectionMode(new LassoSelectionMode());
                    break;
            }
            drawingBoard.getDrawingContext().setDrawingMode(mode);
            return true;
        }
    });
    popup.show();
}
项目:cidrawing    文件:MainActivity.java   
public void stroke(View v) {
    PopupMenu popup = new PopupMenu(this, v);
    popup.getMenuInflater().inflate(R.menu.menu_stroke, popup.getMenu());
    popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
        @Override
        public boolean onMenuItemClick(MenuItem item) {
            DrawingMode mode = null;
            switch (item.getItemId()) {
                case R.id.plain_stroke_menu:
                    mode = new PlainStrokeMode();
                    break;
                case R.id.smooth_stroke_menu:
                    mode = new SmoothStrokeMode();
                    break;
                case R.id.eraser_stroke_menu:
                    mode = new EraserStrokeMode();
                    break;
            }
            if (mode != null) {
                drawingBoard.getDrawingContext().setDrawingMode(mode);
            }
            return true;
        }
    });
    popup.show();
}
项目:CarPathRecorder    文件:MainActivity.java   
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    findViewById(R.id.fab).setOnClickListener(this);

    mPopupMenu = new PopupMenu(this, findViewById(R.id.fab));
    mPopupMenu.getMenuInflater().inflate(R.menu.menu_main, mPopupMenu.getMenu());
    mPopupMenu.setOnMenuItemClickListener(this);

    mapView = (MapView) findViewById(R.id.map);
    mapView.onCreate(savedInstanceState);// 必须要写
    if (aMap == null) {
        aMap = mapView.getMap();
        setUpMap();
    }

    startLocationService();

    mDownloadInfoBar = (LinearLayout) findViewById(R.id.downloadInfoBar);
    mDownloadInfoBar.setVisibility(View.GONE);
}