类android.support.v7.widget.PopupMenu源码实例Demo

下面列出了怎么用android.support.v7.widget.PopupMenu的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: snapdroid   文件: ClientItem.java
@Override
public void onClick(View v) {
    if (v == ibMute) {
        Volume volume = client.getConfig().getVolume();
        volume.setMuted(!volume.isMuted());
        update();
        listener.onVolumeChanged(this, volume.getPercent(), volume.isMuted());
    } else if (v == ibOverflow) {
        PopupMenu popup = new PopupMenu(v.getContext(), v);
        popup.getMenu().add(Menu.NONE, R.id.menu_details, 0, R.string.menu_details);
        if (!client.isConnected())
            popup.getMenu().add(Menu.NONE, R.id.menu_delete, 1, R.string.menu_delete);
        popup.setOnMenuItemClickListener(this);
        popup.show();
    }
}
 
源代码2 项目: mobius-android-sample   文件: TasksFragment.java
private void showFilteringPopUpMenu() {
  PopupMenu popup = new PopupMenu(getContext(), getActivity().findViewById(R.id.menu_filter));
  popup.getMenuInflater().inflate(R.menu.filter_tasks, popup.getMenu());

  popup.setOnMenuItemClickListener(
      item -> {
        switch (item.getItemId()) {
          case R.id.active:
            onFilterSelected(TasksFilterType.ACTIVE_TASKS);
            break;
          case R.id.completed:
            onFilterSelected(TasksFilterType.COMPLETED_TASKS);
            break;
          default:
            onFilterSelected(TasksFilterType.ALL_TASKS);
            break;
        }
        return true;
      });

  popup.show();
}
 
源代码3 项目: VCL-Android   文件: AudioAlbumFragment.java
@Override
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public void onPopupMenu(View anchor, final int position) {
    if (!AndroidUtil.isHoneycombOrLater()) {
        // Call the "classic" context menu
        anchor.performLongClick();
        return;
    }

    PopupMenu popupMenu = new PopupMenu(getActivity(), anchor);
    popupMenu.getMenuInflater().inflate(R.menu.audio_list_browser, popupMenu.getMenu());
    setContextMenuItems(popupMenu.getMenu(), anchor, position);

    popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
        @Override
        public boolean onMenuItemClick(MenuItem item) {
            return handleContextItemSelected(item, position);
        }
    });
    popupMenu.show();
}
 
源代码4 项目: EMQ-Android-Toolkit   文件: ConnectionAdapter.java
private void showMenu(View v, final int position, final Connection connection) {
    final PopupMenu popupMenu = new PopupMenu(mContext, v);
    popupMenu.inflate(R.menu.menu_connection_item);
    popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
        @Override
        public boolean onMenuItemClick(MenuItem item) {
            switch (item.getItemId()) {
                case R.id.action_edit:
                    ConnectionActivity.openActivity(mContext, connection);

                    return true;
                case R.id.action_delete:
                    MQTTManager.getInstance().removeClient(connection.getId());
                    RealmHelper.getInstance().deleteTopic(Subscription.class,connection.getId());
                    RealmHelper.getInstance().delete(connection);
                    notifyItemRemoved(position);
                    notifyItemRangeChanged(position, getItemCount());
                    return true;
                default:
                    return false;
            }
        }
    });
    popupMenu.show();
}
 
源代码5 项目: kernel_adiutor   文件: PopupCardView.java
public PopupCardView(Context context, final List<String> list) {
    super(context, R.layout.popup_cardview);
    this.list = list;

    if (list != null) {
        popup = new PopupMenu(getContext(), valueView);
        for (int i = 0; i < list.size(); i++)
            popup.getMenu().add(Menu.NONE, i, Menu.NONE, list.get(i));
        popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem item) {
                if (valueView != null) {
                    valueText = list.get(item.getItemId()) + " ";
                    valueView.setText(list.get(item.getItemId()) + " ");
                }
                if (onPopupCardListener != null)
                    onPopupCardListener.onItemSelected(PopupCardView.this, item.getItemId());
                return false;
            }
        });
    }

    if (onPopupCardListener != null) setListener();
}
 
public void onMoreButtonClicked(@NonNull final BookInfo bookInfo, @NonNull View v) {
    PopupMenu popup = new PopupMenu(context, v);
    popup.setOnMenuItemClickListener(item -> {
        switch (item.getItemId()) {
            case R.id.book_overflow_delete_book:
                DialogFragment confirmBatchDownloadDialogFragment = new ConfirmBookDeleteDialogFragment();

                Bundle confirmDeleteDialogFragmentBundle = new Bundle();
                confirmDeleteDialogFragmentBundle.putInt(ConfirmBookDeleteDialogFragment.KEY_NUMBER_OF_BOOKS_TO_DELETE, 1);
                confirmDeleteDialogFragmentBundle.putInt(BooksInformationDBContract.BookInformationEntery.COLUMN_NAME_ID, bookInfo.getBookId());
                confirmDeleteDialogFragmentBundle.putString(BooksInformationDBContract.BookInformationEntery.COLUMN_NAME_TITLE, bookInfo.getName());

                confirmBatchDownloadDialogFragment.setArguments(confirmDeleteDialogFragmentBundle);
                confirmBatchDownloadDialogFragment.show(context.getSupportFragmentManager(), "ConfirmBookDeleteDialogFragment");
                return true;
            default:
                return false;
        }
    });
    popup.inflate(R.menu.book_card_overflow);
    if (bookInfo.getDownloadStatus() < DownloadsConstants.STATUS_DOWNLOAD_COMPLETED) {
        popup.getMenu().removeItem(R.id.book_overflow_delete_book);
    }
    popup.show();
}
 
源代码7 项目: memetastic   文件: ContextUtils.java
public static void popupMenuEnableIcons(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();
    }
}
 
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
    long dashboardId = getArguments().getLong(Dashboard$Table.ID);
    mDashboard = new Select()
            .from(Dashboard.class)
            .where(Condition.column(Dashboard$Table
                    .ID).is(dashboardId))
            .querySingle();

    ButterKnife.bind(this, view);

    InputMethodManager imm = (InputMethodManager)
            getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(mFilter.getWindowToken(), 0);

    mAdapter = new DashboardItemSearchDialogAdapter(
            LayoutInflater.from(getActivity()));
    mListView.setAdapter(mAdapter);
    mDialogLabel.setText(getString(R.string.add_dashboard_item));

    mResourcesMenu = new PopupMenu(getActivity(),mFilter, Gravity.END);
    mResourcesMenu.inflate(R.menu.menu_filter_resources);
    mResourcesMenu.setOnMenuItemClickListener(this);
}
 
源代码9 项目: Mover   文件: MoverRecycleFragment.java
@Override
public boolean onItemLongClick(RecyclerView parent, View view, int position, long id) {

    int viewType = mWatchMeAdapter.getItemViewType(position);

    switch (viewType){
        case WatchMeAdapterNew.TYPE_HEADER_FIRST:
            getJobManager().addJob(new FetchAvailableVideoQualities("p3xpwfHm"));
            return true;

        case WatchMeAdapterNew.TYPE_VIDEO:
        case WatchMeAdapterNew.TYPE_VIDEO_LAST:

            mSelectedVideoPosition = position;

            PopupMenu popupMenu = new PopupMenu(view.getContext(), view, Gravity.TOP);
            popupMenu.setOnMenuItemClickListener(mOnMenuItemClickListener);
            popupMenu.inflate(R.menu.video_item_menu);
            popupMenu.show();
            return true;
    }

    return false;
}
 
源代码10 项目: AppPlus   文件: AppFileListAdapter.java
/**
 * 显示弹出式菜单
 * @param entity
 * @param ancho
 */
private void showPopMenu(final AppEntity entity,View ancho) {
    PopupMenu popupMenu = new PopupMenu(mContext,ancho);
    popupMenu.getMenuInflater().inflate(R.menu.item_pop_file_menu,popupMenu.getMenu());
    popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
        @Override
        public boolean onMenuItemClick(MenuItem item) {
            if(mClickPopupMenuItem!=null){
                mClickPopupMenuItem.onClickMenuItem(item.getItemId(),entity);
            }
            return false;
        }
    });

    makePopForceShowIcon(popupMenu);
    popupMenu.show();
}
 
源代码11 项目: VCL-Android   文件: BaseBrowserFragment.java
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public void onPopupMenu(View anchor, final int position) {
    if (!AndroidUtil.isHoneycombOrLater()) {
        // Call the "classic" context menu
        anchor.performLongClick();
        return;
    }
    PopupMenu popupMenu = new PopupMenu(getActivity(), anchor);
    setContextMenu(popupMenu.getMenuInflater(), popupMenu.getMenu(), position);

    popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
        @Override
        public boolean onMenuItemClick(MenuItem item) {
            return handleContextItemSelected(item, position);
        }
    });
    popupMenu.show();
}
 
源代码12 项目: KA27   文件: PopupCardView.java
public PopupCardView(Context context, final List < String > list) {
    super(context, R.layout.popup_cardview);
    this.list = list;

    if (list != null) {
        popup = new PopupMenu(getContext(), valueView);
        for (int i = 0; i < list.size(); i++)
            popup.getMenu().add(Menu.NONE, i, Menu.NONE, list.get(i));
        popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem item) {
                if (valueView != null) {
                    valueText = list.get(item.getItemId()) + " ";
                    valueView.setText(valueText);
                }
                if (onPopupCardListener != null)
                    onPopupCardListener.onItemSelected(PopupCardView.this, item.getItemId());
                return false;
            }
        });
    }

    if (onPopupCardListener != null) setListener();
}
 
源代码13 项目: leanback-showcase   文件: VideoCardPresenter.java
CardViewHolder(ImageCardView view, Context context) {
    super(view);
    mContext = context;
    Context wrapper = new ContextThemeWrapper(mContext, R.style.MyPopupMenu);
    mPopupMenu = new PopupMenu(wrapper, view);
    mPopupMenu.inflate(R.menu.popup_menu);

    mPopupMenu.setOnMenuItemClickListener(this);
    view.setOnLongClickListener(this);

    mOwner = (LifecycleOwner) mContext;

    mDefaultBackground = mContext.getResources().getDrawable(R.drawable.no_cache_no_internet, null);
    mDefaultPlaceHolder = new RequestOptions().
            placeholder(mDefaultBackground);

    mCardView = (ImageCardView) CardViewHolder.this.view;
    Resources resources = mCardView.getContext().getResources();
    mCardView.setMainImageDimensions(Math.round(
            resources.getDimensionPixelSize(R.dimen.card_width)),
            resources.getDimensionPixelSize(R.dimen.card_height));

    mFragmentActivity = (FragmentActivity) context;
    mViewModel = ViewModelProviders.of(mFragmentActivity).get(VideosViewModel.class);
}
 
源代码14 项目: quill   文件: PostViewActivity.java
@Override
public void onClick(View view) {
    if (view.getId() == R.id.post_image_edit_layout) {
        PopupMenu popupMenu = new PopupMenu(this, mPostImageLayoutManager.getRootLayout());
        popupMenu.inflate(R.menu.insert_image);
        if (TextUtils.isEmpty(mPost.getFeatureImage())) {
            MenuItem removeImageItem = popupMenu.getMenu().findItem(R.id.action_image_remove);
            removeImageItem.setVisible(false);
        }
        popupMenu.setOnMenuItemClickListener(item -> {
            if (item.getItemId() == R.id.action_insert_image_url) {
                mPostEditFragment.onInsertImageUrlClicked(getInsertImageDoneAction());
            } else if (item.getItemId() == R.id.action_insert_image_upload) {
                mPostEditFragment.onInsertImageUploadClicked(getInsertImageDoneAction());
            } else if (item.getItemId() == R.id.action_image_remove) {
                getInsertImageDoneAction().call("");
            }
            return true;
        });
        popupMenu.show();
    }
}
 
源代码15 项目: droidddle   文件: UiUtils.java
public static <T extends Parcelable> void setupOverflowEditMenu(Activity context, View anchor,
                                                                OnOperationListener<T> listener, int res, final T data, final int position) {
    final PopupMenu menu = new PopupMenu(context, anchor);
    menu.inflate(res);
    menu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
        @Override
        public boolean onMenuItemClick(MenuItem menuItem) {
            switch (menuItem.getItemId()) {
                case R.id.action_edit:
                    if (listener != null) {
                        listener.update(data, position);
                    }
                    return true;
                case R.id.action_delete:
                    if (listener != null) {
                        listener.delete(data, position);
                    }
                    return true;
            }
            return false;
        }
    });
    anchor.setOnTouchListener(menu.getDragToOpenListener());
    anchor.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            menu.show();
        }
    });
}
 
源代码16 项目: OmniList   文件: ReminderPickerDialog.java
private void showDatePicker(View v) {
    PopupMenu popupM = new PopupMenu(Objects.requireNonNull(getContext()), v);
    popupM.inflate(R.menu.date_picker_menu);

    popupM.getMenu().getItem(0).setTitle(String.format(getString(R.string.today_with_date), TimeUtils.getShortDate(getContext(), TimeUtils.today())));
    popupM.getMenu().getItem(1).setTitle(String.format(getString(R.string.tomorrow_with_date), TimeUtils.getShortDate(getContext(), TimeUtils.tomorrow())));
    popupM.getMenu().getItem(2).setTitle(String.format(getString(R.string.this_friday_with_date), TimeUtils.getShortDate(getContext(), TimeUtils.thisFriday())));
    popupM.getMenu().getItem(3).setTitle(String.format(getString(R.string.this_sunday_with_date), TimeUtils.getShortDate(getContext(), TimeUtils.thisSunday())));
    popupM.getMenu().getItem(4).setTitle(String.format(getString(R.string.next_monday_with_date), TimeUtils.getShortDate(getContext(), TimeUtils.nextMonday())));

    popupM.setOnMenuItemClickListener(item -> {
        switch (item.getItemId()){
            case R.id.item_today:
                onDatePicked(TimeUtils.today());
                break;
            case R.id.item_tomorrow:
                onDatePicked(TimeUtils.tomorrow());
                break;
            case R.id.item_this_friday:
                onDatePicked(TimeUtils.thisFriday());
                break;
            case R.id.item_this_sunday:
                onDatePicked(TimeUtils.thisSunday());
                break;
            case R.id.item_next_monday:
                onDatePicked(TimeUtils.nextMonday());
                break;
            case R.id.item_custom:
                showCustomDateDialog();
                return true;
            case R.id.item_clear_date:break; // invisible
        }
        displayAlarmInfo();
        return true;
    });
    popupM.show();
}
 
源代码17 项目: OmniList   文件: ReminderPickerDialog.java
private void showTimePicker(View v) {
    PopupMenu popupM = new PopupMenu(Objects.requireNonNull(getContext()), v);
    popupM.inflate(R.menu.time_picker_menu);
    ViewUtils.forceShowIcon(popupM);
    popupM.setOnMenuItemClickListener(item -> {
        switch (item.getItemId()){
            case R.id.item_morning:
                alarm.setHour(9);
                alarm.setMinute(0);
                break;
            case R.id.item_noon:
                alarm.setHour(12);
                alarm.setMinute(0);
                break;
            case R.id.item_afternoon:
                alarm.setHour(15);
                alarm.setMinute(0);
                break;
            case R.id.item_evening:
                alarm.setHour(18);
                alarm.setMinute(0);
                break;
            case R.id.item_night:
                alarm.setHour(21);
                alarm.setMinute(0);
                break;
            case R.id.item_custom:
                showCustomTimeDialog();
                return true;
            case R.id.item_clear_time: break; // invisible
        }
        displayAlarmInfo();
        return true;
    });
    popupM.show();
}
 
源代码18 项目: materialize   文件: AppInfoAdapter.java
public ViewHolder(ViewGroup parent) {
    super(inflater, R.layout.main_app_item, parent);

    itemView.setOnClickListener(v -> listener.onItemClick(this));

    popupMenu = new PopupMenu(context, binding.more);
    popupMenu.inflate(R.menu.main_item);
    popupMenu.getMenu().findItem(R.id.add_to_launcher)
            .setOnMenuItemClickListener(i -> {
                listener.onReinstallShortcutClick(this);
                return true;
            });

    binding.more.setOnClickListener(v -> listener.onShowingPopupMenu(this, popupMenu));
}
 
源代码19 项目: OmniList   文件: CategoriesFragment.java
private void configPopMenu(PopupMenu popupMenu) {
    popupMenu.getMenu().findItem(R.id.action_move_out).setVisible(status == Status.ARCHIVED || status == Status.TRASHED);
    popupMenu.getMenu().findItem(R.id.action_edit).setVisible(status == Status.NORMAL);
    popupMenu.getMenu().findItem(R.id.action_trash).setVisible(status == Status.NORMAL || status == Status.ARCHIVED);
    popupMenu.getMenu().findItem(R.id.action_archive).setVisible(status == Status.NORMAL);
    popupMenu.getMenu().findItem(R.id.action_delete).setVisible(status == Status.TRASHED);
}
 
源代码20 项目: SuntimesWidget   文件: AlarmClockAdapter.java
/**
 * showAlarmTypeMenu
 * @param item AlarmClockItem
 * @param buttonView button that triggered menu
 * @param itemView view associated with item
 */
protected void showAlarmTypeMenu(final AlarmClockItem item, final View buttonView, final View itemView)
{
    PopupMenu menu = new PopupMenu(context, buttonView);
    MenuInflater inflater = menu.getMenuInflater();
    inflater.inflate(R.menu.alarmtype, menu.getMenu());

    menu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener()
    {
        @Override
        public boolean onMenuItemClick(MenuItem menuItem)
        {
            switch (menuItem.getItemId())
            {
                case R.id.alarmTypeNotification:
                    return changeAlarmType(item, AlarmClockItem.AlarmType.NOTIFICATION);

                case R.id.alarmTypeAlarm:
                default:
                    return changeAlarmType(item, AlarmClockItem.AlarmType.ALARM);
            }
        }
    });

    SuntimesUtils.forceActionBarIcons(menu.getMenu());
    menu.show();
}
 
源代码21 项目: TimetableView   文件: LocalConfigActivity.java
/**
 * 显示弹出菜单
 */
public void showPopmenu() {
    PopupMenu popup = new PopupMenu(this, moreButton);
    popup.getMenuInflater().inflate(R.menu.popmenu_local_config, popup.getMenu());
    popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
        public boolean onMenuItemClick(MenuItem item) {
            switch (item.getItemId()) {
                case R.id.top1:
                    loadLocalConfig();
                    break;
                case R.id.top2:
                    clearLocalConfig();
                    break;
                case R.id.top3:
                    exportLocalConfig();
                    break;
                case R.id.top4:
                    loadLocalConfigSet();
                    break;
                default:
                    break;
            }
            return true;
        }
    });

    popup.show();
}
 
@Override
public void onClick(View v) {
    PopupMenu popup = new PopupMenu(mContext, mImgIdentityOptions);
    Utils.enablePopupMenuIcons(popup);
    popup.getMenuInflater()
            .inflate(R.menu.menu_id_management_options, popup.getMenu());

    popup.setOnMenuItemClickListener(item -> {
        switch (item.getItemId()) {

            case R.id.action_idm_settings:
                mContext.startActivity(new Intent(mContext, IdentitySettingsActivity.class));
                break;
            case R.id.action_idm_rename:
                mContext.startActivity(new Intent(mContext, RenameActivity.class));
                break;
            case R.id.action_idm_remove:
                removeIdentity();
                break;
            case R.id.action_idm_export:
                mContext.startActivity(new Intent(mContext, ExportOptionsActivity.class));
                break;
            case R.id.action_idm_password_options:
                showPasswordOptionsMenu();
                break;
            default:
                break;
        }
        return true;
    });

    popup.show();
}
 
源代码23 项目: secure-quick-reliable-login   文件: Utils.java
public static void enablePopupMenuIcons(PopupMenu popup) {
    try {
        Field[] fields = popup.getClass().getDeclaredFields();
        for (Field field : fields) {
            if ("mPopup".equals(field.getName())) {
                field.setAccessible(true);
                Object menuPopupHelper = field.get(popup);
                Class<?> classPopupHelper = Class.forName(menuPopupHelper.getClass().getName());
                Method setForceIcons = classPopupHelper.getMethod("setForceShowIcon", boolean.class);
                setForceIcons.invoke(menuPopupHelper, true);
                break;
            }
        }
    } catch (Exception e) { e.printStackTrace(); }
}
 
源代码24 项目: timecat   文件: WhiteListActivity.java
public void showPopupMenu(View view) {
    //参数View 是设置当前菜单显示的相对于View组件位置,具体位置系统会处理
    PopupMenu popupMenu = new PopupMenu(this, view, Gravity.RIGHT, R.attr.popupMenuStyle, R.style.PopUpMenuStyle);
    //加载menu布局
    Menu menu = popupMenu.getMenu();
    String[] spinnerArray = getResources().getStringArray(SPINNER_ARRAY);
    int i = 0;
    for (i = 0; i < spinnerArray.length; i++) {
        menu.add(0, i, i, spinnerArray[i]);
    }
    menu.add(0, i, i, R.string.select_cancel);
    //设置menu中的item点击事件
    popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
        @Override
        public boolean onMenuItemClick(MenuItem item) {
            if (mAppAdapter == null) {
                return false;
            }
            int id = item.getItemId();
            if (id < spinnerArray.length) {
                for (AppListAdapter.ApplicationInfoWrap app : mSelectedApplicationInfos) {
                    app.selection = id;
                }
                mAppAdapter.notifyDataSetChanged();
                refreshMenu(true);
            } else {
                unSelectAll();
                refreshMenu(false);
            }
            UrlCountUtil.onEvent(UrlCountUtil.STATUS_WL_SELECTION, id + "");
            return true;
        }
    });
    popupMenu.show();
}
 
源代码25 项目: droidddle   文件: UiUtils.java
public static void setupFilterPopupMenu(Activity context, View anchor,
                                        OnFilterListener listener, final String[] data) {
    //        final ListPopupWindow menu = new ListPopupWindow(context);
    //        ArrayAdapter<String> listAdapter = new ArrayAdapter<String>(context, R.layout.support_simple_spinner_dropdown_item, data);
    //        menu.setAdapter(listAdapter);
    //        menu.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    //            @Override
    //            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    //                listener.onItemClick(parent,view,position,id);
    //                menu.dismiss();
    //            }
    //        });
    final PopupMenu menu = new PopupMenu(context, anchor);
    //        menu.inflate(res);
    for (int i = 0; i < data.length; i++) {
        menu.getMenu().add(0, i, i, data[i]);
    }
    menu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
        @Override
        public boolean onMenuItemClick(MenuItem menuItem) {
            listener.update(menuItem.getItemId());
            return true;
        }
    });
    anchor.setOnTouchListener(menu.getDragToOpenListener());
    anchor.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            menu.show();
        }
    });
}
 
源代码26 项目: android_gisapp   文件: LayersFragment.java
@Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.sync:
                for (Account account : mAccounts) {
                    Bundle settingsBundle = new Bundle();
                    settingsBundle.putBoolean(
                            ContentResolver.SYNC_EXTRAS_MANUAL, true);
                    settingsBundle.putBoolean(
                            ContentResolver.SYNC_EXTRAS_EXPEDITED, true);

                    ContentResolver.requestSync(account, AUTHORITY, settingsBundle);
                }

                updateInfo();
                break;
            case R.id.new_layer:
                if (getActivity() != null) {
//                    View view = getActivity().getWindow().getDecorView().findViewById(android.R.id.content);
                    View view = getActivity().findViewById(R.id.new_layer);
                    PopupMenu popup = new PopupMenu(getActivity(), view);
                    UiUtil.setForceShowIcon(popup);
                    popup.getMenuInflater().inflate(R.menu.add_layer, popup.getMenu());
                    popup.setOnMenuItemClickListener(this);
                    if (!AccountUtil.isProUser(getActivity())) {
                        popup.getMenu().findItem(R.id.menu_add_ngw).setIcon(R.drawable.ic_lock_black_24dp);
                    }
                    popup.show();
                }

                break;
        }
    }
 
源代码27 项目: Ticket-Analysis   文件: TicketGroupListAdapter.java
public void setData(String codeGroup, int realPosition) {
    CodeGroupAdapter codeGroupAdapter = new CodeGroupAdapter(mContext, codeGroup);
    rvCodeGroup.setLayoutManager(new GridLayoutManager(mContext, 7));
    rvCodeGroup.setAdapter(codeGroupAdapter);
    PopupMenu popupMenu = new PopupMenu(mContext, tvOperate);
    popupMenu.inflate(R.menu.operate_menu);
    popupMenu.setOnMenuItemClickListener(item -> {
        // TODO Auto-generated method stub
        switch (item.getItemId()) {
            case R.id.copy:
                ClipboardManager clipboardManager = (ClipboardManager) mContext.getSystemService(Context.CLIPBOARD_SERVICE);
                clipboardManager.setPrimaryClip(ClipData.newPlainText(null, codeGroup));
                ToastUtil.showToast("已经复制到剪切板");
                break;
            case R.id.delete:
                if (mCodeGroups.contains(codeGroup)) {
                    int index = mCodeGroups.indexOf(codeGroup);
                    mCodeGroups.remove(index);
                    notifyItemRemoved(index);
                }
                break;
            default:
                break;
        }
        return false;
    });
    tvOperate.setOnClickListener(v -> {
        popupMenu.show();
    });
}
 
@NonNull
public HorizontalBookRecyclerView setupRecyclerView(BookCardEventsCallback mListener,
                                                    Cursor bookListCursor,
                                                    String title,
                                                    PopupMenu.OnMenuItemClickListener onMenuItemClickListener,
                                                    int moreMenuRes) {
    setupRecyclerView(mListener, bookListCursor);
    setTitleText(title);
    setOverFlowMenuListener(onMenuItemClickListener, moreMenuRes);
    return this;

}
 
public void setOverFlowMenuListener(PopupMenu.OnMenuItemClickListener onClickListener, int moreMenuRes) {
    if (moreMenuRes > 0) {
        findViewById(R.id.more_overflow).setOnClickListener(v -> {
            PopupMenu popup = new PopupMenu(getContext(), v);
            popup.setOnMenuItemClickListener(onClickListener);
            popup.inflate(moreMenuRes);
            popup.show();
        });
    }
}
 
源代码30 项目: fluentAppBar   文件: MenuParserHelper.java
public static void parseMenu(Context context, @MenuRes int menuRes, List<MenuEntry> menuEntryList){
    PopupMenu p = new PopupMenu(context, null);
    Menu menu = p.getMenu();
    new MenuInflater(context).inflate(menuRes, menu);

    for (int i = 0; i < menu.size(); i++) {
        android.view.MenuItem item = menu.getItem(i);
        menuEntryList.add(new MenuEntry(item.getTitle().toString(), item.getIcon(), item.getItemId()));
    }
}
 
 同包方法