HarmonyOS 鸿蒙Next OpenHarmony横屏后输入框弹出的键盘不能完全显示

发布于 1周前 作者 htzhanglong 来自 鸿蒙OS

HarmonyOS 鸿蒙Next OpenHarmony横屏后输入框弹出的键盘不能完全显示 如图

代码如下,写在EntryAbility.ts中的onCreate里,设置横屏并隐藏状态栏和导航栏,(可以实现)

let windowClass = null;
try {
    let promise = Window.getLastWindow(this.context);
    promise.then((data) => {
        windowClass = data;
        //不显示状态栏和导航栏
        let names = [];
        windowClass.setWindowSystemBarEnable(names, (err) => {
            if (err.code) {
                console.error('Failed to set the system bar to be invisible. Cause:' + JSON.stringify(err));
                return;
            }
            console.info('Succeeded in setting the system bar to be invisible.');
        });

        let orientation = Window.Orientation.LANDSCAPE;
        let promise = windowClass.setPreferredOrientation(orientation);
        promise.then(() => {
            console.info('Succeeded in setting the window orientation.');
        }).catch((err) => {
            console.error('Failed to set the window orientation. Cause: ' + JSON.stringify(err));
        });
        console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
    }).catch((err) => {
        console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
    });
} catch (exception) {
    console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(exception));
}

测试代码

@Entry
@Componentstruct Equipment {
  @State text: string = ""
  controller: TextInputController = new TextInputController()
  build() {
    Row() {
      TextInput({
        placeholder: 'input your word...',
        controller: this.controller
      })
      .placeholderColor(Color.Grey)
      .placeholderFont({ size: 14, weight: 400 })
      .caretColor(Color.Blue)
      .width(400)
      .height(40)
      .margin(20)
      .fontSize(14)
      .fontColor(Color.Black)
      .onChange((value: string) => {
        this.text = value
      })
      Text(this.text)
    }
  }
}

但是此时项目中的输入框弹出的键盘就变形了,各位大佬有遇到这种情况吗?怎么解决的?

用的是大禹200的开发板


更多关于HarmonyOS 鸿蒙Next OpenHarmony横屏后输入框弹出的键盘不能完全显示的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于HarmonyOS 鸿蒙Next OpenHarmony横屏后输入框弹出的键盘不能完全显示的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对HarmonyOS(鸿蒙)Next OpenHarmony横屏后输入框弹出的键盘不能完全显示的问题,这通常是由于系统UI布局与键盘适配不当所导致。在鸿蒙系统中,应用需要正确处理屏幕方向变化时的UI布局调整。

可能的解决方案涉及调整应用的布局参数或键盘设置,但具体实现需依据应用的开发框架和鸿蒙系统的API进行设计。开发者应检查以下几点:

  1. 布局文件:确保布局文件中对于输入框及其父容器的设置能够适配横屏模式,避免键盘弹出时被遮挡。

  2. 窗口软输入模式:在Activity或页面的属性中设置合适的软输入模式,如adjustResizeadjustPan,以指示系统在键盘出现时如何调整界面。

  3. 键盘适配:检查是否有针对特定键盘的适配问题,尝试更换系统键盘或第三方键盘看是否改善。

  4. 系统更新:确认鸿蒙系统版本是否为最新,有时系统更新能解决此类适配问题。

如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html 。在那里,你可以获得更专业的技术支持和解决方案。

回到顶部