android - 如何将自定义 InputMethodService 添加到 Activity?

标签 android android-activity android-service android-input-method window-soft-input-mode

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

在一个类中完成所有操作之后 public class CustomKeyboard extends InputMethodService implements KeyboardView.OnKeyboardActionListener。我很难将其添加为 softInputMethod。我尝试使用 InputMethodManager 但在转换时我得到了不兼容的类型。

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

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

隐藏系统输入法后,如何让这个输入法成为默认输入法?

谢谢。



附言如果有明显简单的方法可以做到这一点,我很抱歉,但我刚刚过渡到 Android,我仍在学习。

最佳答案

在要更改输入法的文本字段上使用 android:inputMethod。参见 https://developer.android.com/reference/android/widget/TextView.html#attr_android:inputMethod

您不能为整个设备设置默认输入法,但您可以在您的应用中逐个字段地覆盖它。为您的 Activity 或应用程序的主题添加默认输入法应该为您应用中的所有 TextView 覆盖它。

关于android - 如何将自定义 InputMethodService 添加到 Activity?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38185238/

相关文章:

android - 可以指定 Toast 的位置吗?

android - 软键盘在单击编辑文本时打开然后关闭

android - 在Service的onStartCommand中检索Intent的旧值

使用 FCM 的 Android 通知 - 谁启动了 FirebaseMessagingService?

android - 错误 : "duplicate entry: android/support/v7/appcompat/R$anim.class"

java - Android 应用程序中的 Google 翻译 API

android-activity - Activity 名称不是有效的类名

android - 需要安卓后台服务

安卓 :Why the Activity is in onPause?

java - Android 服务连接泄露