使用完成按钮关闭我的自定义键盘
Posted
技术标签:
【中文标题】使用完成按钮关闭我的自定义键盘【英文标题】:Use done button to close my custom keyboard 【发布时间】:2021-01-30 03:07:36 【问题描述】:我正在 android studio 中为 android 制作一个自定义键盘,我几乎已经实现了基本键盘所需的所有基本功能,但是当我按下右下角的完成键时,我正在努力弄清楚如何关闭我的键盘角落。
android 应用程序中的大多数文本框都包含一个 imeOption,指定完成键要执行的操作,例如 android:imeOptions="actionGo"
用于 google chrome url 栏中,并且要在完成键上进行 chrome 搜索,我必须使用 inputConnection.sendKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_ENTER));
来制作它工作和android:imeOptions="actionNone"
android:imeOptions="actionSearch"
这工作正常inputConnection.sendKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER));
但我不知道我应该为android:imeOptions="actionNext"
和android:imeOptions="actionDone"
做什么
【问题讨论】:
【参考方案1】:这取决于视图的位置。就好像它是一个编辑文本和它在视图层次结构中的最后一个视图,那么你可以设置它的视图的 android:imeOptions="actionDone"。这将隐藏键盘。并且 android:imeOptions="actionNext" 如果在任何视图中使用,那么它会将焦点移动到下一个编辑文本(如果有的话)。
我希望我理解你的问题。如果不是请详细说明。我很乐意提供帮助。
【讨论】:
是的,这就是它们的工作方式,这些操作(关闭键盘并将焦点切换到下一个视图)由位于任何典型键盘右下角的称为 enter 或 done 键的键执行。我的问题是我正在创建自己的“自定义键盘”,它应该执行此操作,例如关闭键盘并将焦点更改为相对于相应视图的下一个视图,但我无法在我的“自定义键盘”中进行这项工作 @RajeshNadar 你能分享你的代码吗?因为这样很容易识别问题。 我将InputMethodService
用于我的键盘,OnKeyboardActionListener
用于监控输入。我正在使用onKey
函数来检查按下了哪个键并使用 inputConnection 对象在编辑文本上执行任务这是如何完成的public void onKey(int primaryCode, int[] keyCodes) InputConnection inputConnection = getCurrentInputConnection(); if (inputConnection != null) switch (primaryCode) case Keyboard.KEYCODE_DONE:
@RajeshNadar 我无法理解您的问题。如果你能给我代码,我可以直接运行并排除故障,那就更好了
如何与您分享我的项目?以上是关于使用完成按钮关闭我的自定义键盘的主要内容,如果未能解决你的问题,请参考以下文章