Подтвердить что ты не робот

Как отключить окно предварительного просмотра клавиатуры SoftKeyboard?

При создании собственного SoftKeyboard вам предоставляется "предварительный просмотр ключа" по умолчанию.

enter image description hereenter image description here

Как отключить это?

Изменить:

Вы можете настроить макет keyPreview, изменив атрибут <KeyboardView> android:keyPreviewLayout. Это стиль по умолчанию, чтобы посмотреть keyboard_key_preview.xml:

Изменить 2: После моей красной селедки:

Исходный код предполагает поставку 0 или не применение тега android:keyPreviewLayout приведет к отсутствию просмотра ключа:

    ...
    case com.android.internal.R.styleable.KeyboardView_keyPreviewLayout:
        previewLayout = a.getResourceId(attr, 0);
        break; 
    ...
    if (previewLayout != 0) {
        mPreviewText = (TextView) inflate.inflate(previewLayout, null);
        mPreviewTextSizeLarge = (int) mPreviewText.getTextSize();
        mPreviewPopup.setContentView(mPreviewText);
        mPreviewPopup.setBackgroundDrawable(null);
    } else {
        mShowPreview = false;
    }  

Я пробовал:

  • В стиле KeyboardView без keyPreviewLayout (странно, хотя замена этого значения изменила стиль предварительного просмотра.)
  • Я сделал ссылку keyPreviewLayout идентификатором со значением 0 (что вызывает сбой при инфляции).

Тупик.:( Любая помощь будет принята с благодарностью!

4b9b3361

Ответ 1

Есть способ:

public void setPreviewEnabled(boolean previewEnabled)

Но я не знаю, какая версия API начинается с.

Ответ 2

Вы пробовали это:

public static mEmptyView;

//somewhere where you have the context:
mEmptyView = new View(context);

@Override public View onCreateCandidatesView() {
    return mEmptyView;
}

В основном это всегда будет возвращать пустой вид, когда кандидаты должны появиться.

Ответ 3

Другой способ - добавить в xml
Android: keyPreviewLayout = "@нуль"

<android.inputmethodservice.KeyboardView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/keyboard"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:keyPreviewLayout="@null"
    android:visibility="gone"
    />