【发布时间】:2019-12-29 06:25:25
【问题描述】:
我正在使用最新的 Android Studio 和 Kotlin 为 Android(API 100% 用户)制作系统键盘。我正在尝试关注IME life cycle。
有这个关于覆盖 onCreateInputView() 的指南
override fun onCreateInputView(): View {
return layoutInflater.inflate(R.layout.input, null).apply {
if (this is MyKeyboardView) {
setOnKeyboardActionListener(this@MyInputMethod)
keyboard = latinKeyboard
}
}
}
其中 MyKeyboardView 是一个自定义实现 KeyboardView 的实例,它呈现一个键盘。
问题只是因为 android.inputmethodservice.KeyboardView 自 API 级别 29 以来已被弃用。文档说
此类已弃用,因为它只是一个方便的 UI 小部件类,应用程序开发人员可以在现有公共 API 之上重新实现。
我不想使用已弃用的功能,但指南尚未更新以说明此更改。制作我自己的残酷方式只是在约束布局中制作大量按钮。这是正确的方法吗?作为一个完整的初学者,一旦我无法遵循指南,我就会迷失方向。
【问题讨论】:
-
老实说,因为它工作得很好并且重新实现没有意义,所以我会禁用已弃用的 lint 并使用它。
-
如果您在 Google 上搜索“Android,为什么不推荐使用键盘类?”,您不会得到一个好的答案。也许没有好的答案。
-
在这里,谷歌的建议以及我是如何做到的stackoverflow.com/a/63689954/3101777
标签: custom-keyboard