类android.view.ContextMenu源码实例Demo

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

源代码1 项目: Favorite-Android-Client   文件: ProfileEdit.java
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
		ContextMenuInfo menuInfo) {
	//Log.i("ContextMenu", "Contextmenu");
	if (v.getId() == R.id.profile_image) {

		menu.setHeaderIcon(android.R.drawable.btn_star);
		// menu.setHeaderTitle("공지사항");
		menu.add(Menu.NONE, 1, Menu.NONE,
				getString(R.string.choose_picture));
		menu.add(Menu.NONE, 2, Menu.NONE, getString(R.string.camera));
		menu.add(Menu.NONE, 3, Menu.NONE, getString(R.string.delete));

	}

	super.onCreateContextMenu(menu, v, menuInfo);

}
 
public void createContextMenu(ContextMenu menu, ContextMenu.ContextMenuInfo menuInfo) {
	MyLog.entry("menuInfo = " + menuInfo);

	final ChooseModelContainer<SyncedMonsterModel> monsterItem = getMonsterItem(menuInfo);
	menu.setHeaderTitle(getContext().getString(R.string.choose_sync_context_menu_one_title, monsterItem.getModel().getDisplayedMonsterInfo().getName()));
	if (monsterItem.isChosen()) {
		menu.add(getGroupId(), MENU_ID_DESELECT, 0, R.string.choose_sync_context_menu_one_deselect);
	} else {
		menu.add(getGroupId(), MENU_ID_SELECT, 0, R.string.choose_sync_context_menu_one_select);
	}

	if (getMode() != SyncMode.DELETED) {
		menu.add(getGroupId(), MENU_ID_CHANGE_PRIORITY, 0, R.string.choose_sync_context_menu_one_change_priority);
		menu.add(getGroupId(), MENU_ID_CHANGE_NOTE, 0, R.string.choose_sync_context_menu_one_change_note);
	}

	if (new DefaultSharedPreferencesHelper(getContext()).isChooseSyncUseIgnoreListForMonsters(getMode())) {
		menu.add(getGroupId(), MENU_ID_ADD_TO_IGNORE_LIST, 0, R.string.choose_sync_context_menu_one_add_to_ignore_list);
	}

	MyLog.exit();
}
 
源代码3 项目: delion   文件: RecentTabsPage.java
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
    // Would prefer to have this context menu view managed internal to RecentTabsGroupView
    // Unfortunately, setting either onCreateContextMenuListener or onLongClickListener
    // disables the native onClick (expand/collapse) behaviour of the group view.
    ExpandableListView.ExpandableListContextMenuInfo info =
            (ExpandableListView.ExpandableListContextMenuInfo) menuInfo;

    int type = ExpandableListView.getPackedPositionType(info.packedPosition);
    int groupPosition = ExpandableListView.getPackedPositionGroup(info.packedPosition);

    if (type == ExpandableListView.PACKED_POSITION_TYPE_GROUP) {
        mAdapter.getGroup(groupPosition).onCreateContextMenuForGroup(menu, mActivity);
    } else if (type == ExpandableListView.PACKED_POSITION_TYPE_CHILD) {
        int childPosition = ExpandableListView.getPackedPositionChild(info.packedPosition);
        mAdapter.getGroup(groupPosition).onCreateContextMenuForChild(childPosition, menu,
                mActivity);
    }
}
 
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
  TextView contextMenuTextView = (TextView) v;
  Context context = getContext();
  menu.add(android.R.string.copy)
      .setOnMenuItemClickListener(
          item -> {
            ClipboardManager clipboard =
                (ClipboardManager) context.getSystemService(CLIPBOARD_SERVICE);
            clipboard.setPrimaryClip(
                ClipData.newPlainText(CLIP_DATA_LABEL, contextMenuTextView.getText()));
            return true;
          });

  menu.add(R.string.context_menu_highlight)
      .setOnMenuItemClickListener(
          item -> {
            highlightText(contextMenuTextView);
            return true;
          });
}
 
源代码5 项目: uPods-android   文件: ActivityMain.java
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, v, menuInfo);
    MenuInflater inflater = getMenuInflater();
    if (contextMenuType == ContextMenuType.PODCAST_MIDDLE_SCREEN) {
        inflater.inflate(R.menu.menu_basic_sceleton, menu);
        menu.add(getString(R.string.about_podcast));
        if (((Podcast) currentContextMenuData).isDownloaded) {
            menu.add(getString(R.string.open_on_disk));
            menu.add(getString(R.string.remove_all_episods));
        }
    } else if (contextMenuType == ContextMenuType.EPISODE_MIDDLE_SCREEN) {
        inflater.inflate(R.menu.menu_basic_sceleton, menu);
        menu.add(getString(R.string.marks_as_played));
        Track track = ((MediaItem.MediaItemBucket) currentContextMenuData).track;
        if (((Episode) track).isDownloaded) {
            menu.add(getString(R.string.delete));
        }
    } else if (contextMenuType == ContextMenuType.PROFILE) {
        inflater.inflate(R.menu.menu_logedin_profile, menu);
    } else {
        inflater.inflate(R.menu.menu_activity_main, menu);
    }
}
 
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
  super.onCreateContextMenu(menu, v, menuInfo);
  AdapterContextMenuInfo info = (AdapterContextMenuInfo) menuInfo;
  PinInfo selectedUser = users[(int) info.id];
  getMenuInflater().inflate(R.menu.account_list_context, menu);
  menu.setHeaderTitle(selectedUser.getIndex().getStrippedName());

  if (!isRenameAccountAvailableSupported(selectedUser)) {
    menu.removeItem(R.id.rename);
  }

  if (!isCheckAccountKeyValueSupported(selectedUser)) {
    menu.removeItem(R.id.check_code);
  }

  mostRecentContextMenu = menu;
}
 
源代码7 项目: YiBo   文件: MicroBlogContextMenuListener.java
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
		ContextMenuInfo menuInfo) {
	final AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo;
	Adapter adapter = lvMicroBlog.getAdapter();
	this.position = info.position;
	targetView = info.targetView;
	Status status= (Status)adapter.getItem(position);
	if (status == null 
		|| (status instanceof LocalStatus
			&& ((LocalStatus)status).isDivider())) {
		return;
	}

	Context context = v.getContext();
	analyzeStatusMenu(adapter, status, menu, context);
}
 
源代码8 项目: fingen   文件: FragmentSummary.java
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, v, menuInfo);
    MenuInflater menuInflater = Objects.requireNonNull(getActivity()).getMenuInflater();
    menuInflater.inflate(R.menu.context_menu_summary, menu);
    final MenuItem item = menu.findItem(R.id.action_show_report);
    ((ToolbarActivity) getActivity()).unsubscribeOnDestroy(
            mBillingService.getReportsIapInfo()
                    .subscribeOn(Schedulers.io())
                    .observeOn(AndroidSchedulers.mainThread())
                    .subscribe(
                            skuDetailsWrapper -> {
                                if (skuDetailsWrapper.isPurchased()) {
                                    item.setVisible(true);
                                } else {
                                    item.setVisible(false);
                                }
                            },
                            throwable -> item.setVisible(false)));
}
 
源代码9 项目: ActivityLauncher   文件: AllTasksListFragment.java
@Override
public void onCreateContextMenu(@NonNull ContextMenu menu, @NonNull View v,
                                ContextMenuInfo menuInfo) {
    menu.add(Menu.NONE, 0, Menu.NONE, R.string.context_action_shortcut);
    menu.add(Menu.NONE, 1, Menu.NONE, R.string.context_action_launch);

    ExpandableListContextMenuInfo info = (ExpandableListContextMenuInfo) menuInfo;
    ExpandableListView list = getView().findViewById(R.id.expandableListView1);

    switch (ExpandableListView.getPackedPositionType(info.packedPosition)) {
        case ExpandableListView.PACKED_POSITION_TYPE_CHILD:
            MyActivityInfo activity = (MyActivityInfo) list.getExpandableListAdapter().getChild(ExpandableListView.getPackedPositionGroup(info.packedPosition), ExpandableListView.getPackedPositionChild(info.packedPosition));
            menu.setHeaderIcon(activity.icon);
            menu.setHeaderTitle(activity.name);
            menu.add(Menu.NONE, 2, Menu.NONE, R.string.context_action_edit);
            break;
        case ExpandableListView.PACKED_POSITION_TYPE_GROUP:
            MyPackageInfo pack = (MyPackageInfo) list.getExpandableListAdapter().getGroup(ExpandableListView.getPackedPositionGroup(info.packedPosition));
            menu.setHeaderIcon(pack.icon);
            menu.setHeaderTitle(pack.name);
            break;
    }

    super.onCreateContextMenu(menu, v, menuInfo);
}
 
源代码10 项目: prevent   文件: PreventFragment.java
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
    if (!canCreateContextMenu(menu, menuInfo)) {
        return;
    }
    menu.clear();
    ViewHolder holder = (ViewHolder) ((AdapterContextMenuInfo) menuInfo).targetView.getTag();
    menu.setHeaderTitle(holder.nameView.getText());
    if (holder.icon != null) {
        setHeaderIcon(menu, holder.icon);
    }
    menu.add(Menu.NONE, R.string.app_info, Menu.NONE, R.string.app_info);
    updatePreventMenu(menu, holder.packageName);
    if (getMainIntent(holder.packageName) != null) {
        menu.add(Menu.NONE, R.string.open, Menu.NONE, R.string.open);
    }
    if (holder.canUninstall) {
        menu.add(Menu.NONE, R.string.uninstall, Menu.NONE, R.string.uninstall);
    }
    if (appNotification) {
        menu.add(Menu.NONE, R.string.app_notifications, Menu.NONE, R.string.app_notifications);
    }
}
 
源代码11 项目: odyssey   文件: FilesFragment.java
/**
 * Create the context menu.
 */
@Override
public void onCreateContextMenu(@NonNull ContextMenu menu, @NonNull View v, ContextMenu.ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, v, menuInfo);
    MenuInflater inflater = getActivity().getMenuInflater();

    AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo;
    FileModel currentFile = mAdapter.getItem(info.position);

    if (currentFile.isFile()) {
        // show context menu for files
        inflater.inflate(R.menu.context_menu_files_files_fragment, menu);

        // hide enqueue as next for playlist files
        menu.findItem(R.id.fragment_files_action_enqueueasnext).setVisible(!currentFile.isPlaylist());
    } else {
        // show context menu for directories
        inflater.inflate(R.menu.context_menu_directories_files_fragment, menu);
    }
}
 
源代码12 项目: CSipSimple   文件: AccountsEditListFragment.java
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, v, menuInfo);
    final SipProfile account = profileFromContextMenuInfo(menuInfo);
    if(account == null) {
        return;
    }
    WizardInfo wizardInfos = WizardUtils.getWizardClass(account.wizard);

    // Setup the menu header
    menu.setHeaderTitle(account.display_name);
    if(wizardInfos != null) {
        menu.setHeaderIcon(wizardInfos.icon);
    }
    
    menu.add(0, MENU_ITEM_ACTIVATE, 0, account.active ? R.string.deactivate_account
            : R.string.activate_account);
    menu.add(0, MENU_ITEM_MODIFY, 0, R.string.modify_account);
    menu.add(0, MENU_ITEM_DELETE, 0, R.string.delete_account);
    menu.add(0, MENU_ITEM_WIZARD, 0, R.string.choose_wizard);

}
 
源代码13 项目: NanoIconPack   文件: AppAdapter.java
@Override
public void onCreateContextMenu(ContextMenu contextMenu, View view, ContextMenu.ContextMenuInfo contextMenuInfo) {
    contextMenu.setHeaderTitle(dataList.get(contextMenuActiveItemPos).getLabel());
    contextMenu.add(Menu.NONE, 0, Menu.NONE, R.string.menu_request_icon);
    contextMenu.add(Menu.NONE, 1, Menu.NONE, R.string.menu_copy_code);
    contextMenu.add(Menu.NONE, 2, Menu.NONE, R.string.menu_save_icon);
    contextMenu.getItem(0).setOnMenuItemClickListener(this);
    contextMenu.getItem(1).setOnMenuItemClickListener(this);
    contextMenu.getItem(2).setOnMenuItemClickListener(this);

    contextMenu.getItem(0).setVisible(enableStatsModule);
}
 
源代码14 项目: HayaiLauncher   文件: SearchActivity.java
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
                                ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, v, menuInfo);
    if (menuInfo instanceof AdapterContextMenuInfo) {
        AdapterContextMenuInfo adapterMenuInfo = (AdapterContextMenuInfo) menuInfo;
        menu.setHeaderTitle(
                ((LaunchableActivity) adapterMenuInfo.targetView
                        .findViewById(R.id.appIcon).getTag()).getActivityLabel());
    }
    final MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.app, menu);
}
 
源代码15 项目: EdXposedManager   文件: ModulesBookmark.java
@Override
public void onCreateContextMenu(@NonNull ContextMenu menu, @NonNull View v, ContextMenu.ContextMenuInfo menuInfo) {
    Module module = getItemFromContextMenuInfo(menuInfo);
    if (module == null)
        return;

    menu.setHeaderTitle(module.name);
    requireActivity().getMenuInflater().inflate(R.menu.context_menu_modules_bookmark, menu);
}
 
源代码16 项目: 4pdaClient-plus   文件: NotesListFragment.java
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
    AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo;
    if (info.id == -1) return;

    if (info.id  < 0 || getAdapter().getCount() <= info.id ) return;

    Object o = getAdapter().getItem((int) info.id );
    if (o == null)
        return;
    final IListItem topic = (IListItem) o;

    final List<MenuListDialog> list = new ArrayList<>();
    AddLinksSubMenu(list, topic);
    list.add(new MenuListDialog(App.getContext().getString(R.string.delete), () -> new MaterialDialog.Builder(getContext())
            .title(R.string.confirm_action)
            .content(R.string.ask_delete_note)
            .cancelable(true)
            .negativeText(R.string.cancel)
            .positiveText(R.string.delete)
            .onPositive((dialog, which) -> {
                try {
                    NotesTable.delete(topic.getId().toString());
                    getMData().remove(topic);
                    getAdapter().notifyDataSetChanged();
                } catch (Throwable ex) {
                    AppLog.e(getContext(), ex);
                }
            })
            .show()));
    ExtUrl.showContextDialog(getContext(), null, list);

}
 
源代码17 项目: pandora   文件: SPFragment.java
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, v, menuInfo);
    if (menuInfo instanceof MenuRecyclerView.RvContextMenuInfo) {
        MenuRecyclerView.RvContextMenuInfo info = (MenuRecyclerView.RvContextMenuInfo) menuInfo;
        if (getAdapter().getItems().get(info.position) instanceof KeyValueItem) {
            if (!((KeyValueItem) getAdapter().getItems().get(info.position)).isTitle) {
                menu.add(-1, 0, 0, R.string.pd_name_copy_value);
                menu.add(-1, 0, 1, R.string.pd_name_delete_key);
            }
        }
    }
}
 
源代码18 项目: Conversations   文件: ChannelSearchResultAdapter.java
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
    final Activity activity = XmppActivity.find(v);
    final Object tag = v.getTag();
    if (activity != null && tag instanceof Room) {
        activity.getMenuInflater().inflate(R.menu.channel_item_context, menu);
        this.current = (Room) tag;
    }
}
 
源代码19 项目: coolreader   文件: BookmarkActivity.java
@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    lvBookMark = getListView();
    resolver = getContentResolver();
    bookMarks = DbDataOperation.getBookMark(resolver);
    lvBookMark.setBackgroundResource(R.drawable.bg_listview);
    lvBookMark.setAdapter(adapter);
    lvBookMark.setDivider(null);
    lvBookMark.setCacheColorHint(000000);
    lvBookMark.setOnItemClickListener(new OnItemClickListener()
    {
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id)
        {
            currentPosition = position;
            intentToRead();
        }
    });
    lvBookMark.setOnCreateContextMenuListener(new OnCreateContextMenuListener()
    {
        public void onCreateContextMenu(ContextMenu menu, View v,
                ContextMenuInfo menuInfo)
        {
            AdapterContextMenuInfo info = (AdapterContextMenuInfo) menuInfo;
            currentPosition = info.position;
            menu.add(Menu.NONE,R.id.menu_open,0,"打开");
            menu.add(Menu.NONE, R.id.menu_del, 1, "删除 " ); 
            menu.add(Menu.NONE, R.id.menu_des, 1, "详细 " ); 
  
        }
    });
}
 
源代码20 项目: aMuleRemote   文件: PartFileSourceNamesFragment.java
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, v, menuInfo);
    
    // For context menu, the standard menu inflater must be used
    // https://groups.google.com/forum/?fromgroups=#!topic/actionbarsherlock/wQlIvR-jUYQ
    
    android.view.MenuInflater inflater = getActivity().getMenuInflater();
    inflater.inflate(R.menu.sourcenames_context, menu);
    
    AdapterView.AdapterContextMenuInfo aMenuInfo = (AdapterView.AdapterContextMenuInfo) menuInfo;
    mLastSelected = mPartFile.getSourceNames().get(aMenuInfo.position).getName();

}
 
源代码21 项目: document-viewer   文件: OPDSActivity.java
protected void onCreateBookContextMenu(final ContextMenu menu, final Book book) {
    final MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.opds_bookmenu, menu);

    menu.setHeaderTitle(book.title);
    ActionMenuHelper.setMenuParameters(getController(), menu, new Constant("book", book));
}
 
@Override
public void onContextMenuShown(Tab tab, ContextMenu menu) {
    ContextualSearchManager manager = getContextualSearchManager();
    if (manager != null) {
        manager.onContextMenuShown();
    }
}
 
源代码23 项目: TapUnlock   文件: MainActivity.java
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, v, menuInfo);

    menu.add(getResources().getString(R.string.rename_context_menu));
    menu.add(getResources().getString(R.string.delete_context_menu));
}
 
源代码24 项目: beaconloc   文件: DetectedBeaconsFragment.java
@Override
public void onCreateContextMenu(ContextMenu menu, View view, ContextMenu.ContextMenuInfo
        menuInfo) {

    super.onCreateContextMenu(menu, view, menuInfo);

    MenuInflater inflater = getActivity().getMenuInflater();
    inflater.inflate(R.menu.menu_detected_list, menu);
}
 
源代码25 项目: styT   文件: Main.java
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
    AdapterView.AdapterContextMenuInfo acmi = (AdapterView.AdapterContextMenuInfo) menuInfo;
    menu.setHeaderTitle("操作");
    if (this.alItemApk.get(acmi.position).getRunning()) {
        // menu.add(0, CM_FORCE_CLOSE, 0, R.string.force_close);
    } else {
        menu.add(0, CM_LAUNCH, 0, "启动");
    }
    menu.add(0, CM_DETAILS, 0, "市场查看");
    super.onCreateContextMenu(menu, v, menuInfo);
}
 
public void createContextMenu(ContextMenu menu, ContextMenu.ContextMenuInfo menuInfo) {
	MyLog.entry("menuInfo = " + menuInfo);
	if (isGroup(menuInfo)) {
		createContextMenuForGroup(menu, menuInfo);
	} else {
		createContextMenuForChild(menu, menuInfo);
	}
	MyLog.exit();
}
 
源代码27 项目: prevent   文件: PreventFragment.java
private void setHeaderIcon(ContextMenu menu, Drawable icon) {
    int width = getHeaderIconWidth();
    if (icon.getMinimumWidth() <= width) {
        menu.setHeaderIcon(icon);
    } else if (icon instanceof BitmapDrawable) {
        Bitmap bitmap = Bitmap.createScaledBitmap(((BitmapDrawable) icon).getBitmap(), width, width, false);
        menu.setHeaderIcon(new BitmapDrawable(getResources(), bitmap));
    }
}
 
源代码28 项目: mobile-manager-tool   文件: PlaylistsFragment.java
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
    AdapterContextMenuInfo mi = (AdapterContextMenuInfo)menuInfo;
    menu.add(mFragmentGroupId, PLAY_SELECTION, 0, getResources().getString(R.string.play_all));
    if (mi.id >= 0) {
        menu.add(mFragmentGroupId, RENAME_PLAYLIST, 0, getResources().getString(R.string.rename_playlist));
        menu.add(mFragmentGroupId, DELETE_PLAYLIST, 0, getResources().getString(R.string.delete_playlist));
    }
    mCurrentId = mCursor.getString(mCursor.getColumnIndexOrThrow(BaseColumns._ID));
    String title = mCursor.getString(mCursor.getColumnIndexOrThrow(PlaylistsColumns.NAME));
    menu.setHeaderTitle(title);
}
 
源代码29 项目: mobile-manager-tool   文件: GenresFragment.java
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
    menu.add(mFragmentGroupId, ADD_TO_LOVE, 0, getResources().getString(R.string.play_all));
    mCurrentId = mCursor.getString(mCursor.getColumnIndexOrThrow(BaseColumns._ID));
    String title = mCursor.getString(mCursor.getColumnIndexOrThrow(Audio.Genres.NAME));
    menu.setHeaderTitle(title);
}
 
源代码30 项目: CompositeAndroid   文件: FragmentPlugin.java
void onCreateContextMenu(final CallVoid3<ContextMenu, View, ContextMenuInfo> superCall, ContextMenu menu, View v,
        ContextMenuInfo menuInfo) {
    synchronized (mSuperListeners) {
        mSuperListeners.push(superCall);
        onCreateContextMenu(menu, v, menuInfo);
    }
}
 
 类所在包
 同包方法