Example usage for android.widget ListPopupWindow INPUT_METHOD_NOT_NEEDED

List of usage examples for android.widget ListPopupWindow INPUT_METHOD_NOT_NEEDED

Introduction

In this page you can find the example usage for android.widget ListPopupWindow INPUT_METHOD_NOT_NEEDED.

Prototype

int INPUT_METHOD_NOT_NEEDED

To view the source code for android.widget ListPopupWindow INPUT_METHOD_NOT_NEEDED.

Click Source Link

Document

Mode for #setInputMethodMode(int) : this popup never needs to work with an input method, regardless of whether it is focusable.

Usage

From source file:com.android.settings.users.EditUserPhotoController.java

private void showUpdatePhotoPopup() {
    final boolean canTakePhoto = canTakePhoto();
    final boolean canChoosePhoto = canChoosePhoto();

    if (!canTakePhoto && !canChoosePhoto) {
        return;//from  w w w .j  a v  a  2 s  .c o  m
    }

    final Context context = mImageView.getContext();
    final List<EditUserPhotoController.RestrictedMenuItem> items = new ArrayList<>();

    if (canTakePhoto) {
        final String title = context.getString(R.string.user_image_take_photo);
        final Runnable action = new Runnable() {
            @Override
            public void run() {
                takePhoto();
            }
        };
        items.add(new RestrictedMenuItem(context, title, UserManager.DISALLOW_SET_USER_ICON, action));
    }

    if (canChoosePhoto) {
        final String title = context.getString(R.string.user_image_choose_photo);
        final Runnable action = new Runnable() {
            @Override
            public void run() {
                choosePhoto();
            }
        };
        items.add(new RestrictedMenuItem(context, title, UserManager.DISALLOW_SET_USER_ICON, action));
    }

    final ListPopupWindow listPopupWindow = new ListPopupWindow(context);

    listPopupWindow.setAnchorView(mImageView);
    listPopupWindow.setModal(true);
    listPopupWindow.setInputMethodMode(ListPopupWindow.INPUT_METHOD_NOT_NEEDED);
    listPopupWindow.setAdapter(new RestrictedPopupMenuAdapter(context, items));

    final int width = Math.max(mImageView.getWidth(),
            context.getResources().getDimensionPixelSize(R.dimen.update_user_photo_popup_min_width));
    listPopupWindow.setWidth(width);
    listPopupWindow.setDropDownGravity(Gravity.START);

    listPopupWindow.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            listPopupWindow.dismiss();
            final RestrictedMenuItem item = (RestrictedMenuItem) parent.getAdapter().getItem(position);
            item.doAction();
        }
    });

    listPopupWindow.show();
}

From source file:com.silentcircle.contacts.editor.GroupMembershipView.java

@TargetApi(Build.VERSION_CODES.HONEYCOMB)
@Override// w w  w. j  a  v a2s .c om
public void onClick(View v) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        if (mPopup != null && mPopup.isShowing()) {
            mPopup.dismiss();
            return;
        }
    } else {
        groupCheckDialogDismiss();
    }

    mAdapter = new GroupMembershipAdapter<GroupSelectionItem>(getContext(),
            R.layout.group_membership_list_item);

    mGroupMetaData.moveToPosition(-1);
    while (mGroupMetaData.moveToNext()) {
        long groupId = mGroupMetaData.getLong(GroupMetaDataLoader.GROUP_ID);
        if (groupId != mFavoritesGroupId && (groupId != mDefaultGroupId || mDefaultGroupVisible)) {
            String title = mGroupMetaData.getString(GroupMetaDataLoader.TITLE);
            boolean checked = hasMembership(groupId);
            mAdapter.add(new GroupSelectionItem(groupId, title, checked));
        }
    }

    mAdapter.add(new GroupSelectionItem(CREATE_NEW_GROUP_GROUP_ID,
            getContext().getString(R.string.create_group_item_label), false));

    ListView listView;
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        mPopup = new ListPopupWindow(getContext(), null);
        mPopup.setAnchorView(mGroupList);
        mPopup.setAdapter(mAdapter);
        mPopup.setModal(true);
        mPopup.setInputMethodMode(ListPopupWindow.INPUT_METHOD_NOT_NEEDED);
        mPopup.show();
        listView = mPopup.getListView();
    } else {
        GroupCheckPopup.modeList = listView = new ListView(parent.getActivity());
        listView.setAdapter(mAdapter);
    }
    listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
    listView.setOverScrollMode(OVER_SCROLL_ALWAYS);
    int count = mAdapter.getCount();
    for (int i = 0; i < count; i++) {
        listView.setItemChecked(i, mAdapter.getItem(i).isChecked());
    }
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) {
        groupCheckDialog(mAdapter);
    }
    listView.setOnItemClickListener(this);
}