HarmonyOS CustomDialog中布局最底部放入InputText,当键盘被顶起时会出现偏移,并且会出现透明遮挡

CustomDialog中布局最底部放入InputText,当键盘被顶起时会出现偏移,并且会出现透明遮挡

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

输入法没有拉起的时候,窗口和导航栏重叠的问题参考如下demo:

import { BusinessError } from '@kit.BasicServicesKit';
import { ComponentContent, window } from '@kit.ArkUI';

class Params {
  size: number = 0

  constructor(size: number) {
    this.size = size;
  }
}

@Builder
function buildText(params: Params) {
  Column() {
    TextInput()
  }.backgroundColor('#FFF0F0F0').margin(params.size)

}

@Entry
@Component
struct Index {
  @State msize: number = 0

  build() {
    Row() {
      Column() {
        Button("click me")
          .onClick(() => {

            let uiContext = this.getUIContext();
            let promptAction = uiContext.getPromptAction();
            let contentNode = new ComponentContent(uiContext, wrapBuilder(buildText), new Params(this.msize));
            try {

              promptAction.openCustomDialog(contentNode, { alignment: DialogAlignment.Bottom });
              window.getLastWindow(getContext(this)).then(lastWindow => {
                lastWindow.on('keyboardHeightChange', (size: number) => {
                  if (size ==0) {
                    contentNode.update(new Params(0))
                  }else {
                    contentNode.update(new Params(-14))
                  }

                  console.log('chen size==='+size)
                })
              }).catch((err: BusinessError) => {

              })

            } catch (error) {
              let message = (error as BusinessError).message;
              let code = (error as BusinessError).code;
              console.error(`OpenCustomDialog args error code is ${code}, message is ${message}`);
            }
            ;
          })
      }
      .width('100%')
      .height('100%')
    }
    .height('100%')
  }
}
分享
微博
QQ
微信
回复
2天前
相关问题
未适配底部导航条,会出现遮挡情况
2231浏览 • 1回复 待解决
HarmonyOS 底部上滑会出现任务管理器
154浏览 • 1回复 待解决
应用启动前会出现一个白屏。
1309浏览 • 1回复 待解决
HarmonyOS tabContent底部遮挡
176浏览 • 1回复 待解决