HarmonyOS 鸿蒙Next 组件随软键盘弹出避让案例

发布于 1周前 作者 gougou168 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 组件随软键盘弹出避让案例

介绍

本示例介绍使用TextInput组件和LazyForEach实现组件随软键盘弹出避让场景。该场景多用于需要用户手动输入文字类应用。

demo详情链接

https://gitee.com/harmonyos-cases/cases/blob/master/CommonAppDevelopment/feature/keyboardavoid/README.md


更多关于HarmonyOS 鸿蒙Next 组件随软键盘弹出避让案例的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于HarmonyOS 鸿蒙Next 组件随软键盘弹出避让案例的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next组件开发中,针对软键盘弹出时的避让处理,可以通过布局配置和事件监听实现。以下是一个场景化代码示例,展示如何在软键盘弹出时调整布局,避免遮挡输入框。

首先,在ability_layout.xml中定义布局,使用RelativeLayoutConstraintLayout等布局类型,确保输入框和其他组件能够根据软键盘的弹出进行相应调整。

<DirectionalLayout
    xmlns:ohos="http://schemas.huawei.com/res/ohos"
    ohos:width="match_parent"
    ohos:height="match_parent"
    ohos:orientation="vertical">
    
    <!-- 输入框 -->
    <TextField
        ohos:id="$+id:input_field"
        ohos:width="match_parent"
        ohos:height="wrap_content"
        ohos:hint="请输入内容"/>
    
    <!-- 其他组件 -->
    <Text
        ohos:id="$+id:other_component"
        ohos:width="match_parent"
        ohos:height="wrap_content"
        ohos:text="其他内容"/>
</DirectionalLayout>

接着,在JavaScript代码中监听软键盘弹出事件,通过调整布局参数实现避让。

import prompt from '@ohos.multimedia.inputmethod';

prompt.on('visibilityChange', (event) => {
    if (event.isVisible) {
        // 软键盘弹出,调整布局
        this.$element('other_component').style.visibility = 'hidden';
    } else {
        // 软键盘收起,恢复布局
        this.$element('other_component').style.visibility = 'visible';
    }
});

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部