Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何将自定义InputMethodService添加到活动?_Android_Android Activity_Android Service_Android Input Method_Window Soft Input Mode - Fatal编程技术网

Android 如何将自定义InputMethodService添加到活动?

Android 如何将自定义InputMethodService添加到活动?,android,android-activity,android-service,android-input-method,window-soft-input-mode,Android,Android Activity,Android Service,Android Input Method,Window Soft Input Mode,我决定为我的应用程序创建一个自定义键盘。我知道这不是最好的主意,因为它损害了用户友好性,这就是为什么我会在首选项中选择它 在类公共类中完成所有操作后,CustomKeyboard Extendes InputMethodService实现KeyboardView.OnKeyboardActionListener。我很难将其添加为softInputMethod。我尝试了使用InputMethodManager,但在强制转换时得到了不兼容的类型 我发现我可以在没有服务的情况下获得它,但它非常不受推荐

我决定为我的应用程序创建一个自定义键盘。我知道这不是最好的主意,因为它损害了用户友好性,这就是为什么我会在首选项中选择它

在类
公共类中完成所有操作后,CustomKeyboard Extendes InputMethodService实现KeyboardView.OnKeyboardActionListener
。我很难将其添加为
softInputMethod
。我尝试了使用
InputMethodManager
,但在强制转换时得到了不兼容的类型

我发现我可以在没有服务的情况下获得它,但它非常不受推荐,我需要一个全新的实现

理想情况下,我会将其用于应用程序中的EditText命令行。因此,直接绑定到它也可以完成这项工作

隐藏系统输入法后,如何使此输入服务成为默认输入法

谢谢




另外,如果有一个显而易见的简单方法可以做到这一点,我很抱歉,但我刚刚过渡到Android,我还在学习。

在要更改输入方法的文本字段上使用Android:inputMethod。看


您不能为整个设备设置默认输入法,但可以在应用程序中逐个字段覆盖该输入法。为您的活动或应用程序的主题添加默认输入法应该会覆盖应用程序中所有文本视图的默认输入法。

我认为您可以创建一个自定义视图,以防止出现默认键盘(默认的InputMethodService,如SamsungKeyboard)并显示您自己的键盘。放置所有键并与onTouchListener交互


或者,如果您正在尝试制作自己的键盘应用程序,如SwiftKey,您可能需要阅读以下内容:()

@m0skit0肯定可以工作,您做错了什么。请随意以问题的形式发布您的代码。首先,无论我放在哪里,android:inputMethod都显示为已弃用。如果我将其分配给应用程序中的InputMethodService子类名或清单中的活动标记,它将被忽略(包括相对名称和规范名称)。如果我把它放在视图中,它会在膨胀视图时抛出ClassNotFoundException。如果需要帮助,请提问并包含所有相关代码。它不会在注释中被调试