我正在开发 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 键盘的内容:
有人可以帮忙吗?
谢谢!!
最佳答案
我认为在这种情况下您需要创建自己的弹出窗口,使用 PopupWindow 或 Dialog。
然后你进入你的键盘并覆盖你的 onRelease 方法,像这样:
@Override
public void onRelease(int primaryCode) {
myPopupWindow.dismiss();
}
要制作您自己的键盘弹出窗口,请参阅此线程: Android custom keyboard popup keyboard on long press
关于长按按键时Android软键盘弹出 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32218574/