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

时间:2015-08-26 05:24:42

标签: android keyboard android-softkeyboard popupwindow

我正在开发Android软键盘:

public class CustomKeyboard extends Keyboard{...}  

    public class CustomKeyboardView extends KeyboardView{...}

    public class CustomKeyboardIME extends InputMethodService implements KeyboardView.OnKeyboardActionListener{...}

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

<Key android:codes="144" android:keyLabel="0" android:popupKeyboard="@xml/key_popup" android:popupCharacters=")" android:keyEdgeFlags="right"/>

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" >

但是当我长按“0”键弹出“)”显示时,它会一直停留在那里,直到我按下“X”按钮或“)”字符。

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

i want popup like image

任何人都可以提供帮助吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

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

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

@Override
public void onRelease(int primaryCode) {  
    myPopupWindow.dismiss();
}

要为键盘制作自己的popupWindow,请参阅此主题: Android custom keyboard popup keyboard on long press