HarmonyOS 鸿蒙Next 系统键盘和自定义键盘
HarmonyOS 鸿蒙Next 系统键盘和自定义键盘
TextInput同时关联系统输入法、自定义键盘,需要两个键盘来回切换,应该怎么操作?
可以参考这个demo
@Entry
@Component
struct CustomKeyBoardDemo {
richEditorController: RichEditorController = new RichEditorController()
@State customKeyboardShow: boolean = false
@State systemKeyboardShow: boolean = true
// 自定义键盘组件
@Builder
CustomKeyboardBuilder() {
Column() {
Grid() {
ForEach([1, 2, 3, 4, 5, 6, 7, 8, 9, '*', 0, '#'], (item: number | string) => {
GridItem() {
Button(item + "")
.width(110)
}
})
}.maxCount(3).columnsGap(10).rowsGap(10).padding(5)
}.backgroundColor(Color.Gray)
}
build() {
Column() {
Row().height("10%")
List() {
ListItem() {
Text('1')
}
ListItem() {
Text('1')
}
ListItem() {
Text('1')
}
ListItem() {
Text('1')
}
ListItem() {
Text('1')
}
ListItem() {
Text('1')
}
}.height("80%").backgroundColor("#0afede")
Row() {
RichEditor({ controller: this.richEditorController })
.customKeyboard(this.systemKeyboardShow ? undefined : this.CustomKeyboardBuilder(),
{ supportAvoidance: true })
.backgroundColor('#F4F4F4')
.margin(10)
.id('chatContentFocus')
.width("60%")
.borderRadius(15)
Text('change')
.onClick(async () => {
if (this.systemKeyboardShow) {
// 停止编辑,关闭系统键盘
this.richEditorController.stopEditing()
//做延迟
setTimeout(() => {
focusControl.requestFocus('chatContentFocus')
}, 50)
this.systemKeyboardShow = false
this.customKeyboardShow = true
} else {
// 关闭自定义键盘 切换成系统键盘
this.richEditorController.stopEditing()
this.systemKeyboardShow = true
this.customKeyboardShow = false
//input重新获取焦点
focusControl.requestFocus('chatContentFocus')
}
}).width(80).height(30)
}.height("10%")
}
}
}
更多关于HarmonyOS 鸿蒙Next 系统键盘和自定义键盘的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
可以看一下这个帖子,或许会有思路
.customKeyboard(this.show ? this.CustomKeyboardBuilder() : undefined)
https://developer.huawei.com/consumer/cn/blog/topic/03162475185473327
HarmonyOS 鸿蒙Next系统键盘与自定义键盘的集成与实现,主要依赖于鸿蒙系统提供的输入框架API。
系统键盘是鸿蒙Next系统内置的默认键盘,它提供了基本的输入功能和用户体验。开发者无需额外开发,用户即可直接使用。
对于自定义键盘,鸿蒙Next系统支持开发者根据需求进行个性化开发。开发者需要了解鸿蒙的输入框架和输入法服务(IMS)的相关API。通过这些API,开发者可以实现键盘的布局自定义、按键响应逻辑自定义等功能。
在开发自定义键盘时,开发者需要遵循鸿蒙系统的开发规范,确保键盘应用的安全性、稳定性和兼容性。此外,开发者还需要注意键盘的UI设计,使其符合用户的审美和操作习惯。
自定义键盘开发完成后,开发者可以通过鸿蒙系统的应用商店进行发布和推广。用户在安装并启用自定义键盘后,即可在鸿蒙Next系统中使用。
需要注意的是,鸿蒙Next系统的输入框架和API可能会随着系统版本的更新而发生变化。因此,开发者在开发自定义键盘时,需要关注鸿蒙系统的更新动态,确保键盘应用与最新系统版本兼容。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html