类android.view.ActionMode源码实例Demo

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

源代码1 项目: FireFiles   文件: DirectoryFragment.java
@Override
public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) {
	if (checked) {
		// Directories and footer items cannot be checked
		boolean valid = false;

		final Cursor cursor = mAdapter.getItem(position);
		if (cursor != null) {
			final String docMimeType = getCursorString(cursor, Document.COLUMN_MIME_TYPE);
			final int docFlags = getCursorInt(cursor, Document.COLUMN_FLAGS);
			// if (!Document.MIME_TYPE_DIR.equals(docMimeType)) {
			valid = isDocumentEnabled(docMimeType, docFlags);
			// }
		}

		if (!valid) {
			mCurrentView.setItemChecked(position, false);
		}
	}

	int count = mCurrentView.getCheckedItemCount();
	mode.setTitle(getResources().getString(R.string.mode_selected_count, count));
	if (count == 1 || count == 2) {
		mode.invalidate();
	}
}
 
源代码2 项目: 365browser   文件: FloatingPastePopupMenu.java
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
    int id = item.getItemId();
    if (id == R.id.select_action_menu_paste) {
        mDelegate.paste();
        mode.finish();
    }
    if (id == R.id.select_action_menu_paste_as_plain_text) {
        mDelegate.pasteAsPlainText();
        mode.finish();
    }
    if (id == R.id.select_action_menu_select_all) {
        mDelegate.selectAll();
        mode.finish();
    }
    return true;
}
 
源代码3 项目: padland   文件: ServerListActivity.java
/**
     * Called when the user selects a contextual menu item
     *
     * @param mode
     * @param item
     * @return
     */
    @Override
    public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
        switch (item.getItemId()) {
            case R.id.menuitem_delete:
                AskDelete(getCheckedItemIds());
                // Action picked, so close the CAB
                mode.finish();
                return true;
//            case R.id.menuitem_share:
//                menu_share(getCheckedItemIds());
                // Action picked, so close the CAB
//                mode.finish();
//                return true;
            default:
                return false;
        }
    }
 
源代码4 项目: Pix-Art-Messenger   文件: MessageAdapter.java
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
    if (item.getItemId() == android.R.id.button1) {
        int start = messageBody.getSelectionStart();
        int end = messageBody.getSelectionEnd();
        if (end > start) {
            String text = transformText(messageBody.getText(), start, end, false);
            String user = multiuser ? messageUser.getText().toString() : null;
            if (onQuoteListener != null) {
                onQuoteListener.onQuote(text, user);
            }
            mode.finish();
        }
        return true;
    }
    return false;
}
 
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
    // Inflate a menu resource providing context menu items
    MenuInflater inflater = mode.getMenuInflater();
    inflater.inflate(R.menu.menu_delete, menu);
    return true;
}
 
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
    switch (item.getItemId()) {
        case R.id.action_delete:
            showAlertDialog();
            return true;
        default:
            if (eventListener != null)
                eventListener.updateActionBar(false, -1);
            return false;
    }
}
 
源代码7 项目: FireFiles   文件: DirectoryFragment.java
@Override
public void onClick(final View v) {

	final int position = mCurrentView.getPositionForView(v);
	if (position != ListView.INVALID_POSITION) {
		int count = mCurrentView.getCheckedItemCount();
		switch (v.getId()) {
		case android.R.id.icon:
			if (count == 0) {
				ActionMode mChoiceActionMode = null;
				if (mChoiceActionMode == null && (mChoiceActionMode = mCurrentView.startActionMode(mMultiListener)) != null) {
					mCurrentView.setItemChecked(position, true);
					mCurrentView.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS);
				}
			} else {
				mCurrentView.setItemChecked(position, !mCurrentView.isItemChecked(position));
				mCurrentView.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS);
			}
			break;

		case R.id.button_popup:
			v.post(new Runnable() {
				@Override
				public void run() {
					showPopupMenu(v, position);
				}
			});
			break;
		}
	}

}
 
@Override
public void onDestroyActionMode(ActionMode mode) {
    mActionMode = null;
    mWebView.notifyFindDialogDismissed();
    mWebView.setFindDialogFindListener(null);
    mInput.hideSoftInputFromWindow(mWebView.getWindowToken(), 0);
}
 
源代码9 项目: SuntimesWidget   文件: WidgetTimezones.java
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu)
{
    MenuInflater inflater = mode.getMenuInflater();
    inflater.inflate(R.menu.timezonesort, menu);
    return true;
}
 
源代码10 项目: Pix-Art-Messenger   文件: ChooseContactActivity.java
@Override
public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) {
    if (selected.size() != 0) {
        getListView().playSoundEffect(0);
    }
    Contact item = (Contact) getListItems().get(position);
    if (checked) {
        selected.add(item.getJid().toString());
    } else {
        selected.remove(item.getJid().toString());
    }
}
 
源代码11 项目: padland   文件: PadListActivity.java
/**
 * Called when the action mode is created; startActionMode() was called
 *
 * @param mode
 * @param menu
 * @return boolean
 */
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
    // Inflate a menu resource providing context menu items
    MenuInflater inflater = mode.getMenuInflater();
    inflater.inflate(R.menu.rowselection, menu);

    mActionMode = mode;

    return true;
}
 
源代码12 项目: revolution-irc   文件: ChatSelectTouchListener.java
@Override
public void onGetContentRect(ActionMode mode, View view, Rect outRect) {
    view.getLocationOnScreen(mTmpLocation);

    TextView textViewStart = findTextViewByItemId(mSelectionStartId);
    TextView textViewEnd = findTextViewByItemId(mSelectionEndId);
    int lineStart = textViewStart != null ?
            textViewStart.getLayout().getLineForOffset(mSelectionStartOffset) : -1;
    int lineEnd = textViewStart != null ?
            textViewStart.getLayout().getLineForOffset(mSelectionEndOffset) : -1;

    outRect.top = 0;
    if (textViewStart != null) {
        textViewStart.getLocationOnScreen(mTmpLocation2);
        outRect.top = mTmpLocation2[1] - mTmpLocation[1];
        outRect.top += textViewStart.getLayout().getLineTop(lineStart);
    }
    outRect.bottom = view.getHeight();
    if (textViewEnd != null) {
        textViewEnd.getLocationOnScreen(mTmpLocation2);
        outRect.bottom = mTmpLocation2[1] - mTmpLocation[1];
        outRect.bottom += textViewEnd.getLayout().getLineBottom(lineEnd);
    }
    outRect.left = 0;
    outRect.right = view.getWidth();
    if (textViewStart != null && textViewStart == textViewEnd && lineStart == lineEnd) {
        textViewStart.getLocationOnScreen(mTmpLocation2);
        outRect.left = mTmpLocation2[0] - mTmpLocation[0];
        outRect.left += textViewStart.getLayout().getPrimaryHorizontal(mSelectionStartOffset);
        outRect.right = mTmpLocation2[0] - mTmpLocation[0];
        outRect.right += textViewStart.getLayout().getPrimaryHorizontal(mSelectionEndOffset);
    }
}
 
源代码13 项目: trekarta   文件: DataList.java
@Override
public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) {
    ListView listView = getListView();
    int count = listView.getCheckedItemCount();
    mode.setTitle(getResources().getQuantityString(R.plurals.itemsSelected, count, count));
    // Update (redraw) list item view
    int start = listView.getFirstVisiblePosition();
    for (int i = start, j = listView.getLastVisiblePosition(); i <= j; i++) {
        if (position == i) {
            View view = listView.getChildAt(i - start);
            listView.getAdapter().getView(i, view, listView);
            break;
        }
    }
}
 
源代码14 项目: SuntimesWidget   文件: WidgetTimezones.java
@Override
public boolean onCreateActionMode(android.support.v7.view.ActionMode mode, Menu menu)
{
    MenuInflater inflater = mode.getMenuInflater();
    inflater.inflate(R.menu.timezonesort, menu);
    return true;
}
 
源代码15 项目: androidtestdebug   文件: ContentFragment.java
public boolean onCreateActionMode(ActionMode actionMode, Menu menu) {
    actionMode.setTitle(R.string.photo_selection_cab_title);

    MenuInflater inflater = getActivity().getMenuInflater();
    inflater.inflate(R.menu.photo_context_menu, menu);
    return true;
}
 
源代码16 项目: android-vlc-remote   文件: BrowseDrawerListener.java
/** {@inheritDoc} */
public void onDestroyActionMode(ActionMode mode) {
    if (mode == mActionMode) {
        if (mDrawer.isOpened()) {
            mDrawer.animateClose();
        }
        mActionMode = null;
    }
}
 
源代码17 项目: FreeFlow   文件: FreeFlowContainer.java
@Override
public void onDestroyActionMode(ActionMode mode) {
	mWrapped.onDestroyActionMode(mode);
	mChoiceActionMode = null;

	// Ending selection mode means deselecting everything.
	clearChoices();
	updateOnScreenCheckedViews();

	// rememberSyncState();
	requestLayout();

	setLongClickable(true);
}
 
源代码18 项目: 365browser   文件: SelectionPopupController.java
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
    if (!isActionModeValid()) return true;

    int id = item.getItemId();
    int groupId = item.getGroupId();

    if (id == mAssistMenuItemId) {
        doAssistAction();
        mode.finish();
    } else if (id == R.id.select_action_menu_select_all) {
        selectAll();
    } else if (id == R.id.select_action_menu_cut) {
        cut();
        mode.finish();
    } else if (id == R.id.select_action_menu_copy) {
        copy();
        mode.finish();
    } else if (id == R.id.select_action_menu_paste) {
        paste();
        mode.finish();
    } else if (id == R.id.select_action_menu_share) {
        share();
        mode.finish();
    } else if (id == R.id.select_action_menu_web_search) {
        search();
        mode.finish();
    } else if (groupId == R.id.select_action_menu_text_processing_menus) {
        processText(item.getIntent());
        // The ActionMode is not dismissed to match the behavior with
        // TextView in Android M.
    } else {
        return false;
    }
    return true;
}
 
@Override
protected void startActionMode() {
    try {
        Activity activity = (Activity) adapterView.getContext();
        Method method = activity.getClass().getMethod("startActionMode", ActionMode.Callback.class);
        actionMode = (ActionMode) method.invoke(activity, owner);
    } catch (Exception e) {
        e.printStackTrace();
        throw new RuntimeException(e);
    }
}
 
源代码20 项目: FireFiles   文件: DirectoryFragment.java
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
	editMode = root != null && root.isEditSupported();
	int menuId = R.menu.mode_simple_directory;
	if (null != root && root.isApp()) {
		menuId = R.menu.mode_apps;
	} else {
		menuId = R.menu.mode_directory;
	}

	mode.getMenuInflater().inflate(menuId, menu);
	int count = mCurrentView.getCheckedItemCount();
	mode.setTitle(count+"");
	return true;
}
 
@TargetApi(11)
// The return value is of type android.view.ActionMode. However, since the ActionMode class is
// only available in API Level 11+, we have to declare the return type as Object in order to
// for this test class to load fine on Gingerbread and below.
private static Object openListViewContextualActionBar(
    AuthenticatorActivity activity, ListView listView, int position) {
  View listEntry = listView.getChildAt(position);
  onView(is(listEntry)).perform(longClick());
  ActionMode actionMode = activity.actionMode;
  if (actionMode == null) {
    throw new RuntimeException(
        "Failed to open list entry contextual action bar: got ActionMode == null");
  }
  return actionMode;
}
 
源代码22 项目: Klyph   文件: FriendPickerActivity.java
@Override
public boolean  onActionItemClicked(ActionMode mode, MenuItem item)
{
	deselectAll();

	return true;
}
 
源代码23 项目: Telegram   文件: EditTextBoldCursor.java
@Override
public ActionMode startActionMode(ActionMode.Callback callback, int type) {
    if (Build.VERSION.SDK_INT >= 23 && (windowView != null || attachedToWindow != null)) {
        return startActionMode(callback);
    } else {
        return super.startActionMode(callback, type);
    }
}
 
源代码24 项目: Pix-Art-Messenger   文件: ListSelectionManager.java
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
    if (additionalCallback != null) {
        additionalCallback.onPrepareActionMode(mode, menu);
    }
    return true;
}
 
源代码25 项目: Dashchan   文件: ListUnit.java
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
	gridView.setChoiceMode(GridView.CHOICE_MODE_MULTIPLE);
	gridView.clearChoices();
	mode.setTitle(instance.context.getString(R.string.text_selected_format, 0));
	int selectAllResId = ResourceUtils.getSystemSelectionIcon(instance.context, "actionModeSelectAllDrawable",
			"ic_menu_selectall_holo_dark");
	int flags = MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT;
	ActionIconSet set = new ActionIconSet(instance.context);
	menu.add(0, ACTION_MENU_SELECT_ALL, 0, R.string.action_select_all)
			.setIcon(selectAllResId).setShowAsAction(flags);
	menu.add(0, ACTION_MENU_DOWNLOAD_FILES, 0, R.string.action_download_files)
			.setIcon(set.getId(R.attr.actionDownload)).setShowAsAction(flags);
	return true;
}
 
源代码26 项目: Pix-Art-Messenger   文件: ListSelectionManager.java
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
    selectionActionMode = mode;
    selectionIdentifier = identifier;
    selectionTextView = textView;
    if (additionalCallback != null) {
        additionalCallback.onCreateActionMode(mode, menu);
    }
    return true;
}
 
源代码27 项目: MultiChoiceAdapter   文件: MyBaseAdapter.java
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
    MenuInflater inflater = mode.getMenuInflater();
    inflater.inflate(R.menu.my_action_mode, menu);
    return true;
}
 
源代码28 项目: 365browser   文件: FloatingPastePopupMenu.java
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
    return false;
}
 
源代码29 项目: browser   文件: CustomWebView.java
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
	return false;
}
 
源代码30 项目: 365browser   文件: FloatingActionModeCallback.java
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
    return mCallback.onActionItemClicked(mode, item);
}
 
 类所在包
 同包方法