
前台应用设置编辑框沉浸模式keyboardappearance。示例代码如下。
TextArea({placeholder: '沉浸模式'})
.keyboardAppearance(KeyboardAppearance.IMMERSIVE)
TextArea({placeholder: '非沉浸模式'})
.keyboardAppearance(KeyboardAppearance.NONE_IMMERSIVE) 输入法应用订阅编辑框属性变化事件editorAttributeChanged,通过回调参数EditorAttribute中的immersiveMode字段感知前台应用期望的沉浸模式。示例代码如下。
// 感知是否设置沉浸模式,如果是沉浸模式选择沉浸模式类型
inputMethodEngine.getKeyboardDelegate().on("editorAttributeChanged", (attr : inputMethodEngine.EditorAttribute) => {
console.info('recv editorAttributeChanged, immersiveMode: ', attr.immersiveMode);
if (attr.immersiveMode == inputMethodEngine.ImmersiveMode.DARK_IMMERSIVE) {
this.panel?.setImmersiveMode(inputMethodEngine.ImmersiveMode.DARK_IMMERSIVE);
console.info('recv editorAttributeChanged, panel:', this.panel?.getImmersiveMode());
}
}) 输入法应用设置沉浸模式setimmersivemode。
设置沉浸模式,示例代码如下。setImmersiveMode接口需使用createPanel获取到Panel实例后,通过实例调用。
// 感知是否设置沉浸模式,如果是沉浸模式选择沉浸模式类型
inputMethodEngine.getKeyboardDelegate().on("editorAttributeChanged", (attr : inputMethodEngine.EditorAttribute) => {
console.info('recv editorAttributeChanged, immersiveMode: ', attr.immersiveMode);
if (attr.immersiveMode == inputMethodEngine.ImmersiveMode.DARK_IMMERSIVE) {
this.panel?.setImmersiveMode(inputMethodEngine.ImmersiveMode.DARK_IMMERSIVE);
console.info('recv editorAttributeChanged, panel:', this.panel?.getImmersiveMode());
}
})