Skip to main content
版本:v3+

keyboard API

API_LEVEL 4.2 开始支持,API 兼容性请参考 API_LEVEL。

keyboard API 提供了丰富的输入接口能力,大大简化自定义键盘的开发复杂度。

概述​

键盘 API 包含以下主要功能模块:

  • Input 输入框管理,操作光标文本
  • 键盘切换
  • 输入缓存管理
  • 系统集成

导入方式​

import { keyboard } from '@zos/ui'

API 列表​

1. Input 输入框区域​

setContentRect(rect)​

设置 Input 输入框的大小和位置。

类型​
(rect: object) => void
参数​
参数说明是否必须类型
rect包含 x, y, w, h 属性的对象是object
示例​
keyboard.setContentRect({
x: 10,
y: 20,
w: 300,
h: 310
})

getContentRect()​

获取输入区域的大小和位置。

类型​
() => {x: number, y: number, w: number, h: number}
示例​
let rect = keyboard.getContentRect()
console.log(rect.x, rect.y, rect.w, rect.h)

2. Input 输入框文本操作​

getTextContext()​

获取当前 Input 输入框的文本内容。

类型​
() => string
示例​
const text = keyboard.getTextContext()

inputText(text)​

在当前光标位置插入文本。

类型​
(text: string) => void
参数​
参数说明是否必须类型
text要插入的文本是string
示例​
keyboard.inputText('yesterday')

backspace(count)​

删除指定数量的字符。

类型​
(count?: number) => void
参数​
参数说明是否必须类型默认值
count要删除的字符数否number1
示例​
keyboard.backspace() // 删除1个字符
keyboard.backspace(4) // 删除4个字符

clearInput()​

清空输入框内容。

类型​
() => void
示例​
keyboard.clearInput()

3. 特殊按键操作​

sendFnKey(keyType)​

发送特殊功能键事件。

类型​
(keyType: number) => void
参数​
参数说明是否必须类型
keyType按键类型常量是number
按键类型常量​
常量说明
keyboard.BACKSPACE退格删除
keyboard.ENTER确定/提交输入
keyboard.SWITCH切换键盘输入法
keyboard.SELECT进入键盘选择
示例​
keyboard.sendFnKey(keyboard.BACKSPACE)
keyboard.sendFnKey(keyboard.ENTER)

4. 缓存管理​

inputBuffer(text, color, underlineColor)​

设置输入缓存区内容。

类型​
(text: string, color?: number, underlineColor?: number) => void
参数​
参数说明是否必须类型默认值
text缓存文本是string-
color文字颜色否number0xffffff
underlineColor下划线颜色否number0xffffff
示例​
keyboard.inputBuffer('国')
keyboard.inputBuffer('me', 0xff00ff, 0x00ff00)

getBuffer()​

读取缓存文本。

类型​
() => string
示例​
let text = keyboard.getBuffer()

clearBuffer()​

清除缓存文本。

类型​
() => void
示例​
keyboard.clearBuffer()

5. 键盘切换​

switchInputType(inputType)​

跳转到指定类型的键盘。

类型​
(inputType: number) => void
参数​
参数说明是否必须类型
inputType输入类型常量是number
输入类型常量​
常量说明
inputType.EMOJIEmoji 键盘
inputType.NUM数字键盘
inputType.CHAR字符键盘
inputType.VOICE语音输入
inputType.JSKB自定义键盘
示例​
keyboard.switchInputType(inputType.NUM)

6. 系统集成​

checkVoiceInputAvailable()​

检查是否支持语音输入。

类型​
() => boolean
示例​
let voiceSupport = keyboard.checkVoiceInputAvailable()

isEnabled()​

检查当前键盘是否在设置中启用。

类型​
() => boolean
示例​
let enable = keyboard.isEnabled()

isSelected()​

检查当前键盘是否被选中使用。

类型​
() => boolean
示例​
let select = keyboard.isSelected()

gotoSettings()​

跳转到系统设置中的键盘设置页面,系统设置 -> 偏好设置 -> 键盘。

类型​
() => void
示例​
keyboard.gotoSettings()

完整示例​

import { keyboard, inputType } from '@zos/ui'

// 键盘 Widget 使用示例
DataWidget({
build() {
// 设置输入区域
keyboard.setContentRect({
x: 10,
y: 20,
w: 300,
h: 310
})

// 检查键盘状态
if (keyboard.isEnabled()) {
console.log('键盘已启用')
}

// 处理文本输入
keyboard.inputText('Hello')

// 切换到数字键盘
keyboard.switchInputType(inputType.NUM)
}
})

相关参考​