草庐IT

android - 如何通过输入法服务将 KeyEvents 发送到 Dialog 或 Spinner 菜单?

我正在尝试实现一个输入法服务,该服务接收远程客户端发送的Intent,并响应这些发送适当的KeyEvent。我在输入法服务中使用了这个方法privatevoidkeyDownUp(intkeyEventCode){getCurrentInputConnection().sendKeyEvent(newKeyEvent(KeyEvent.ACTION_DOWN,keyEventCode));getCurrentInputConnection().sendKeyEvent(newKeyEvent(KeyEvent.ACTION_UP,keyEventCode));}像SimpleSofyk

Android:非键盘输入法

我正在尝试为Android创建一个IME,它不是传统的键盘(按键行对应于不同的字母),但由于SDK中的所有代码示例都使用一个键盘API,它是内置函数。我在XML文件中设计了IME的界面,就好像它只是应用程序中的一个Activity一样,但我在他们的演示中迷路了,因为他们的键盘只是从不同风格的XML构建的对象结构。如果有人有指向不使用传统键盘结构的开源项目的链接,或者可以简单地指导我在IME窗口上显示我已经构建的UI,我想我可以解决剩下的问题。如果您需要任何更具体的信息,请随时询问。提前致谢。 最佳答案 SoftKeyboardsam

android - 如何从输入法服务启动 PopupWindow 或 Dialog?

当我尝试从InputMethodService中弹出PopupWindow(或Dialog)时出现同样的异常:FATALEXCEPTION:mainandroid.view.WindowManager$BadTokenException:Unabletoaddwindow--tokennullisnotvalid;isyouractivityrunning?atandroid.view.ViewRoot.setView(ViewRoot.java:505)atandroid.view.WindowManagerImpl.addView(WindowManagerImpl.java:17

android - 如何判断输入法选择器是打开还是关闭?

我的应用使用InputMethodManager.showInputMethodPicker()打开输入法选择器(您选择键盘的菜单)。我的应用实际上并没有创建选择器(它是由InputMethodManager创建的),但我知道它是一个ContextMenu并且它的ID是R.id.switchInputMethod。选择器是多步骤向导的一部分,因此我需要知道选择器何时关闭,以便我的应用可以继续下一步。现在我正在后台线程中检查默认键盘是否已更改,但如果用户选择相同的键盘或按回键,这将无济于事。所以我需要一种方法来判断选择器何时关闭(或者其他一些聪明的方法来知道何时继续)。提前致谢...

android - 如何在 Android 上创建多个 IME(输入法编辑器)子类型?

我正在尝试创建多个IME子类型,但Android只能识别一个。方法.xml每个名称在strings.xml中都有值。KK1EnglishEnglishDynamic我的InputMethodService.onStartInputView方法包括:@OverridepublicvoidonStartInputView(EditorInfoei,booleanrestarting){super.onStartInputView(ei,restarting);InputMethodManagerimm=(InputMethodManager)getSystemService(Context

android - 如何在输入法的输入区使用自定义字体?

我们正在开发一个应用程序,我们需要在EditText中使用自定义字体(从应用程序的Assets加载的Typeface)。Androidinputmethoddocs说明如下:Wheninputfocusmovesintooroutofaneditabletextfield,Androidshowsorhidestheinputmethod(suchastheon-screenkeyboard)asappropriate.ThesystemalsomakesdecisionsabouthowyourUIandthetextfieldappearabovetheinputmethod.Fo

kali安装中文输入法(搜狗输入法)

(创作不易,记得点个赞哦)kaliLinux并不自带中文输入法,下面提供安装搜狗输入法的简单教程。1.登录搜狗官网,找到搜狗输入法Linux版的下载页面。搜狗输入法linux-首页搜狗输入法forlinux—支持全拼、简拼、模糊音、云输入、皮肤、中英混输https://shurufa.sogou.com/linux2.点击立即下载。3.出现的页面中只有deb格式的安装包,kali就是用这个。根据处理器架构选择对应的安装包(如x86_64)并下载。4.下载完成后,找到安装包所在文件夹,在终端打开此处。5.在终端中输入“sudoaptinstall./(此处填安装包全名)”,静待安装完成即可(此处

Windows 输入法 : custom Korean virtual keyboard

我在使用韩语WindowsIME时遇到问题。我正在为一款嵌入式软件设计虚拟(屏幕/软件)键盘。我依赖WindowsIME,它似乎适用于日语和中文。如果我使用的是物理键盘,它也可以完美地处理韩语。但是当我单击虚拟键盘按钮时,鼠标事件似乎会干扰IME,基本上只是取消合成。每次单击鼠标按钮时都会触发WM_IME_ENDCOMPOSITION消息。结果,我只能得到单独的韩语符号,而无法将它们组合成单词。有人知道管理这种效果的方法吗?默认的Windows软件键盘如何绕过它?由于一系列原因,我们无法在我们的产品中使用默认的Windows软键盘,需要设计我们自己的软键盘。谢谢。

java - Java中Windows 7输入法自动切换字符宽度

我有几个Windows7自带的(繁体中文)台语输入法。而且,所有的输入法都有一个可以切换字符宽度(单字节/双字节字符)的选项。中文(繁体)-NewQuick中文(繁体)-ChangJie中文(繁体)-快速中文(繁体)-拼音中文(繁体)-新注音中文(繁体)-新昌捷如果我在Java应用程序中选择其中一种输入法并将字符宽度设置为半角(单字节字符模式),我可以在JTextField中成功输入文本。但是,如果应用程序显示某些对话框(例如JOptionPane)或弹出窗口,输入法字符宽度将自动更改为全角(双字节字符模式)。之后,用户必须手动切换到半角字符。我可以使用Java类“InputConte

ios - 如何检测用户是否正在使用输入法输入中途?

如果用户使用中文拼音等输入法在UITextView中输入,则存在拼音已显示在TextView中但用户仍未选择最终汉字的状态。截图会更清楚:我想为用户做一些文本补全,但应该只为实际输入(用户选择的汉字)而不是中间拼音输入做。所以我需要检测这个挂起状态。 最佳答案 终于明白了。像拼音这样的输入法被称为MultistageTextInput。第一阶段称为Marked,第二阶段称为Committed。判断是否处于Marked阶段,需要查询UITextInput协议(protocol)的markedTextRange属性:if(textVie