如何禁用SoftKeyboard键预览窗口?

在创build自己的SoftKeyboard时,默认情况下会给出“键预览”。

在这里输入图像说明在这里输入图像说明

你怎么禁用这个?

编辑:

您可以通过更改<KeyboardView>属性android:keyPreviewLayout来自定义keyPreview布局。 这是默认的样式,以查看keyboard_key_preview.xml :

编辑2: 继我的是一个红鲱鱼:

源代码build议提供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; } 

我试过了:

  • 一个没有keyPreviewLayout的风格的KeyboardView(奇怪的是,虽然replace这个值改变了预览风格。)
  • 我做了keyPreviewLayout引用一个值为0的id(这导致通货膨胀崩溃)。

难住了。 :( 任何帮助将不胜感激!

Solutions Collecting From Web of "如何禁用SoftKeyboard键预览窗口?"

有一种方法:

 public void setPreviewEnabled(boolean previewEnabled) 

但是我不知道从哪个版本的API开始。

你有没有试过这个:

 public static mEmptyView; //somewhere where you have the context: mEmptyView = new View(context); @Override public View onCreateCandidatesView() { return mEmptyView; } 

当候选人出现的时候,这基本上总是会返回一个空的观点。

另一种方法 – 添加到XML
机器人: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" />