Как отключить окно предварительного просмотра клавиатуры 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 (что вызывает сбой при инфляции).

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

Ответ 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"
    />