HarmonyOS 鸿蒙Next 怎么能够禁用当前的输入法,使用自定义的输入法
HarmonyOS 鸿蒙Next 怎么能够禁用当前的输入法,使用自定义的输入法
应用只需要部分的字母加数据的布局,怎么能够禁用当前的输入法,使用自定义的输入法?
可以使用 customKeyboard 属性让自定义键盘和输入框绑定。参考下面例子:
[@Entry](/user/Entry)
[@Component](/user/Component)
struct CustomDialogUser {
controller: TextInputController = new TextInputController()
[@State](/user/State) inputValue: string = ""
//自定义数字键盘
@Builder CustomKeyboardBuilder() {
Grid() {
ForEach([1, 2, 3,‘删除’, 4, 5, 6,’@’, 7, 8, 9,’.’, ‘*’, 0, ‘返回’,‘完成’], (item:number|string) => {
GridItem() {
Text(item + “”)
.backgroundColor(‘rgb(255, 255, 255)’)
.fontColor(Color.Black)
.width(80)
.height(50)
.textAlign(TextAlign.Center)
.borderRadius(4)
.onClick(() => {
if(item == ‘返回’){
//
} else if (item == ‘完成’){
this.controller.stopEditing()
} else if (item == ‘删除’){
this.inputValue = this.inputValue.slice(0,this.inputValue.length-2)
} else {
this.inputValue += item
}
})
}
})
}
.height(300)
.columnsGap(5).rowsGap(10)
.padding(5)
.columnsTemplate(‘1fr 1fr 1fr 1fr’)
.rowsTemplate('1fr 1fr 1fr 1fr ')
}
build() {
Column() {
TextInput({ placeholder: ‘’, controller: this.controller, text: this.inputValue })
.customKeyboard(this.CustomKeyboardBuilder()).margin(10).border({ width: 1 }).height(‘48vp’)
}
}
}
如果是textinput的话,我以前问过,customKeyboard 渲染空内容