Example usage for android.view Window setSoftInputMode

List of usage examples for android.view Window setSoftInputMode

Introduction

In this page you can find the example usage for android.view Window setSoftInputMode.

Prototype

public void setSoftInputMode(int mode) 

Source Link

Document

Specify an explicit soft input mode to use for the window, as per WindowManager.LayoutParams#softInputMode WindowManager.LayoutParams.softInputMode .

Usage

From source file:com.ruesga.rview.widget.TagEditTextView.java

private void init(Context ctx, AttributeSet attrs, int defStyleAttr) {
    mHandler = new Handler(mTagMessenger);
    mTriggerTagCreationThreshold = CREATE_CHIP_DEFAULT_DELAYED_TIMEOUT;

    Resources.Theme theme = ctx.getTheme();
    TypedArray a = theme.obtainStyledAttributes(attrs, R.styleable.TagEditTextView, defStyleAttr, 0);

    mReadOnly = a.getBoolean(R.styleable.TagEditTextView_readonly, false);
    mDefaultTagMode = TAG_MODE.HASH;/*w w  w  .j a v a  2  s  . co m*/

    // Create the internal EditText that holds the tag logic
    mTagEdit = mReadOnly ? new TagEditText(ctx, attrs, defStyleAttr) : new TagEditText(ctx, attrs);
    mTagEdit.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT, 0));
    mTagEdit.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
    mTagEdit.addTextChangedListener(mEditListener);
    mTagEdit.setTextIsSelectable(false);
    mTagEdit.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_MULTI_LINE);
    mTagEdit.setOnFocusChangeListener((v, hasFocus) -> {
        // Remove any pending message
        mHandler.removeMessages(MESSAGE_CREATE_CHIP);
    });
    mTagEdit.setCustomSelectionActionModeCallback(new ActionMode.Callback() {
        @Override
        public boolean onCreateActionMode(ActionMode mode, Menu menu) {
            return false;
        }

        @Override
        public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
            return false;
        }

        @Override
        public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
            return false;
        }

        @Override
        public void onDestroyActionMode(ActionMode mode) {

        }
    });
    addView(mTagEdit);

    // Configure the window mode for landscape orientation, to disallow hide the
    // EditText control, and show characters instead of chips
    int orientation = ctx.getResources().getConfiguration().orientation;
    if (orientation == Configuration.ORIENTATION_LANDSCAPE) {
        if (ctx instanceof Activity) {
            Window window = ((Activity) ctx).getWindow();
            if (window != null) {
                window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING);
                mTagEdit.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI);
            }
        }
    }

    // Save the keyListener for later restore
    mEditModeKeyListener = mTagEdit.getKeyListener();

    // Initialize resources for chips
    mChipBgPaint = new Paint(Paint.ANTI_ALIAS_FLAG);

    mChipFgPaint = new TextPaint(Paint.ANTI_ALIAS_FLAG);
    mChipFgPaint.setTextSize(mTagEdit.getTextSize() * (mReadOnly ? 1 : 0.8f));
    if (CHIP_TYPEFACE != null) {
        mChipFgPaint.setTypeface(CHIP_TYPEFACE);
    }
    mChipFgPaint.setTextAlign(Paint.Align.LEFT);

    // Calculate the width area used to remove the tag in the chip
    mChipRemoveAreaWidth = (int) (mChipFgPaint.measureText(CHIP_REMOVE_TEXT) + 0.5f);

    if (ONE_PIXEL <= 0) {
        Resources res = getResources();
        ONE_PIXEL = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 1, res.getDisplayMetrics());
    }

    int n = a.getIndexCount();
    for (int i = 0; i < n; i++) {
        int attr = a.getIndex(i);
        switch (attr) {
        case R.styleable.TagEditTextView_supportUserTags:
            setSupportsUserTags(a.getBoolean(attr, false));
            break;

        case R.styleable.TagEditTextView_chipBackgroundColor:
            mChipBackgroundColor = a.getColor(attr, mChipBackgroundColor);
            break;

        case R.styleable.TagEditTextView_chipTextColor:
            mChipFgPaint.setColor(a.getColor(attr, Color.WHITE));
            break;
        }
    }
    a.recycle();
}

From source file:com.wanikani.androidnotifier.WebReviewActivity.java

@Override
protected void onResume() {
    Window window;

    super.onResume();

    window = getWindow();// w ww  .  j a  v a 2s .com
    if (SettingsActivity.getLockScreen(this))
        window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
    else
        window.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

    if (SettingsActivity.getResizeWebview(this))
        window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
    else
        window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);

    visible = true;

    selectKeyboard();

    applyMuteSettings();
    applySingleSettings();

    showHWAccelMessage();

    wv.acquire();

    kbstatus.apply(this);

    if (rtask != null)
        rtask.resume();
}

From source file:de.mrapp.android.preference.DialogPreference.java

/**
 * Requests the soft input method to be shown.
 *//*  w  w  w.  j  av a2 s . co m*/
private void requestInputMode() {
    if (needInputMethod()) {
        Window window = dialog.getWindow();
        window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
    }
}

From source file:com.keylesspalace.tusky.ComposeActivity.java

private void makeCaptionDialog(QueuedMedia item) {
    LinearLayout dialogLayout = new LinearLayout(this);
    int padding = Utils.dpToPx(this, 8);
    dialogLayout.setPadding(padding, padding, padding, padding);

    dialogLayout.setOrientation(LinearLayout.VERTICAL);
    ImageView imageView = new ImageView(this);

    DisplayMetrics displayMetrics = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);

    Picasso.with(this).load(item.uri).resize(displayMetrics.widthPixels, displayMetrics.heightPixels)
            .onlyScaleDown().into(imageView);

    int margin = Utils.dpToPx(this, 4);
    dialogLayout.addView(imageView);//  w  w w.  ja va2  s.  c  om
    ((LinearLayout.LayoutParams) imageView.getLayoutParams()).weight = 1;
    imageView.getLayoutParams().height = 0;
    ((LinearLayout.LayoutParams) imageView.getLayoutParams()).setMargins(0, margin, 0, 0);

    EditText input = new EditText(this);
    input.setHint(R.string.hint_describe_for_visually_impaired);
    dialogLayout.addView(input);
    ((LinearLayout.LayoutParams) input.getLayoutParams()).setMargins(margin, margin, margin, margin);
    input.setLines(1);
    input.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_SENTENCES);
    input.setText(item.description);

    DialogInterface.OnClickListener okListener = (dialog, which) -> {
        mastodonApi.updateMedia(item.id, input.getText().toString()).enqueue(new Callback<Attachment>() {
            @Override
            public void onResponse(@NonNull Call<Attachment> call, @NonNull Response<Attachment> response) {
                Attachment attachment = response.body();
                if (response.isSuccessful() && attachment != null) {
                    item.description = attachment.getDescription();
                    item.preview.setChecked(item.description != null && !item.description.isEmpty());
                    dialog.dismiss();
                } else {
                    showFailedCaptionMessage();
                }
            }

            @Override
            public void onFailure(@NonNull Call<Attachment> call, @NonNull Throwable t) {
                showFailedCaptionMessage();
            }
        });
    };

    AlertDialog dialog = new AlertDialog.Builder(this).setView(dialogLayout)
            .setPositiveButton(android.R.string.ok, okListener).setNegativeButton(android.R.string.cancel, null)
            .create();

    Window window = dialog.getWindow();
    if (window != null) {
        window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
    }

    dialog.show();
}