@capacitor/keyboard
Keyboard API 提供键盘显示和可见性控制,以及键盘显示和隐藏时的事件跟踪。
安装
npm install @capacitor/keyboard
npx cap sync
示例
import { Keyboard } from '@capacitor/keyboard';
Keyboard.addListener('keyboardWillShow', info => {
console.log('keyboard will show with height:', info.keyboardHeight);
});
Keyboard.addListener('keyboardDidShow', info => {
console.log('keyboard did show with height:', info.keyboardHeight);
});
Keyboard.addListener('keyboardWillHide', () => {
console.log('keyboard will hide');
});
Keyboard.addListener('keyboardDidHide', () => {
console.log('keyboard did hide');
});
配置
键盘可以通过以下选项进行配置:
| 属性 | 类型 | 描述 | 默认值 | 自版本 |
|---|---|---|---|---|
resize | KeyboardResize | 配置键盘出现时应用调整大小的方式。仅适用于 iOS。 | native | 1.0.0 |
style | KeyboardStyle | 如果您的应用不支持深色/浅色主题更改,则覆盖键盘样式。如果未设置,键盘样式将取决于设备外观。仅适用于 iOS。 | 1.0.0 | |
resizeOnFullScreen | boolean | 存在一个 Android 错误,当应用处于全屏状态时(即如果使用 StatusBar 插件覆盖状态栏),会阻止键盘调整 WebView 大小。如果设置为 true,此设置添加了一个解决方法,即使用户处于全屏状态也能调整 WebView 大小。仅适用于 Android。 | 1.1.0 |
示例
在 capacitor.config.json 中:
{
"plugins": {
"Keyboard": {
"resize": "body",
"style": "DARK",
"resizeOnFullScreen": true
}
}
}
在 capacitor.config.ts 中:
/// <reference types="@capacitor/keyboard" />
import { CapacitorConfig } from '@capacitor/cli';
import { KeyboardResize, KeyboardStyle } from '@capacitor/keyboard';
const config: CapacitorConfig = {
plugins: {
Keyboard: {
resize: KeyboardResize.Body,
style: KeyboardStyle.Dark,
resizeOnFullScreen: true,
},
},
};
export default config;
与 cordova-plugin-ionic-keyboard 的兼容性
为了保持与
cordova-plugin-ionic-keyboard
的兼容性,以下事件也通过 window.addEventListener 工作:
keyboardWillShowkeyboardDidShowkeyboardWillHidekeyboardDidHide
API 参考
show()
show() => Promise<void>
显示键盘。
此方法仅在 Android 上受支持。
自版本: 1.0.0
hide()
hide() => Promise<void>
隐藏键盘。
自版本: 1.0.0