隐藏Android键盘按键预览

10
我想要做的是只隐藏软键盘上显示当前按键的弹窗,这个可行吗?我正在创建自己的新键盘,不需要它们。
根据我的理解,下面的图片是实际的弹出式键盘,在Keyboard.Key XML中可以使用android:popupKeyboardandroid:popupCharacters选择显示。

Popup Android Keyboards

但下面的图片不是相同的(也请参阅这张图片)。是否有一种方法可以通过 XML 或甚至编程方式关闭以下内容?

Android Keyboard Popups

2个回答

16

阅读了一点实际的Android键盘源代码之后:

我所指的是“按键预览”,它是“显示被按下的按键的放大版本的弹出窗口”。默认情况下,预览是启用的,但要禁用它,非常简单,只需使用setPreviewEnabled(boolean previewEnabled)方法即可。这是KeyboardView类的一个方法。API


嗨@Whymarrh,如果您已经自己开发了,我也正在开发软键盘,遇到了问题,我想在一个键上显示多个字符,就像您上面的第一个键q下面的1一样。我尝试使用标签在键上显示多行/多个字符,然后我得到了如此链接“http://puu.sh/4Xmz1.png”的输出。所以您能否指导如何在键上显示多个字符... - Aniket
@Aniket,你可以在GitHub上在线查看我的完整源代码:http://git.io/mM7pPQ。你可以尝试使用Unicode字符来显示键盘上所需的内容,就像这个文件中所示:http://git.io/SXo3GA。 - Whymarrh
它对我起作用了。我只需要使用“KeyboardView”类中的方法“setPreviewEnabled(boolean)”。 - V_J

9
public void onPress(int primaryCode) {
     mInputView.setPreviewEnabled(false);
}

public void onRelease(int primaryCode) {
    mInputView.setPreviewEnabled(true); //Change to false if you want remove too for the Del key when it's pressed
}

此外,要在扩展InputMethodService的自定义类中获取视图并普遍禁用预览。
    private KeyboardView mInputView;
    @Override
    public KeyboardView onCreateInputView() {
        mInputView = (KeyboardView)getLayoutInflater().inflate(R.layout.keyboard, null);
        mInputView .setPreviewEnabled(false);
        return mInputView;
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接