按键长按的Android软键盘弹出视图

Son*_*mar 6 keyboard android popupwindow android-softkeyboard

我正在开发Android软键盘:

public class CustomKeyboard extends Keyboard{...}  

    public class CustomKeyboardView extends KeyboardView{...}

    public class CustomKeyboardIME extends InputMethodService implements KeyboardView.OnKeyboardActionListener{...}
Run Code Online (Sandbox Code Playgroud)

在某些键上,我有popupKeyboard和popupCharacters:

<Key android:codes="144" android:keyLabel="0" android:popupKeyboard="@xml/key_popup" android:popupCharacters=")" android:keyEdgeFlags="right"/>
Run Code Online (Sandbox Code Playgroud)

XML/key_popup.xml:

<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
  android:keyWidth="10%p"
  android:horizontalGap="0px"
  android:verticalGap="0px"
  android:keyHeight="@dimen/key_height" >
Run Code Online (Sandbox Code Playgroud)

但是当我长按"0"键弹出")"显示时,它会一直保持在那里直到我按下"X"按钮或")"字符.

而且我希望它只在我按住手指时打开.像iPhone键盘上的东西:

我想弹出像图像

有人可以帮忙吗?

谢谢!!

Ric*_* A. 1

我认为在这种情况下您需要使用 PopupWindow 或 Dialog 创建自己的弹出窗口。

然后你进入键盘并覆盖你的 onRelease 方法,如下所示:

@Override
public void onRelease(int primaryCode) {  
    myPopupWindow.dismiss();
}
Run Code Online (Sandbox Code Playgroud)

要制作您自己的键盘弹出窗口,请参阅此线程: Android 自定义键盘 长按时弹出键盘