HarmonyOS dialog和软键盘

CustomDialog其中包含一个inputText,当输入时软键盘展示出来将dialog顶走了,有什么属性可以此问题?

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

由于弹窗存在完全避让输入法行为,即在软键盘弹出时,会自动向上抬起软键盘高度,因此如果弹窗高度过大时,可能会导致部分区域不可见。这是当前的规格 建议使用模态框实现,参考文档:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-universal-attributes-sheet-transition-V5

或者参考示例如下:

@Entry
@Component
struct SafeAreaPage2 {
  @State text: string = ''
  controller: TextInputController = new TextInputController()
  @State panelHeight: string = '0'

  build() {
    Stack({ alignContent: Alignment.Bottom }) {
      Column() {
        Button('弹起/收起').onClick(() => {
          if (this.panelHeight === '0') {
            this.panelHeight = '85%'
          } else {
            this.panelHeight = '0'
            this.controller.stopEditing()
          }
        })
      }
      .expandSafeArea([SafeAreaType.KEYBOARD])
      .width('100%')
      .height('100%')

      CustomEdit()
        .height(this.panelHeight)
        .visibility(this.panelHeight === '0' ? Visibility.Hidden : Visibility.Visible)
        .animation({ duration: 300 })
    }
    .width('100%')
    .height('100%')

  }
}

@Component
struct CustomEdit {
  build() {
    Column() {
      Text('请评论')
        .margin({ top: 10 })
      TextArea({ placeholder: '请输入' })
        .width('96%')
        .backgroundColor(Color.White)
        .borderWidth(1)
        .borderColor('#666')
        .borderRadius(10)
        .margin({ top: 5, bottom: 5 })
        .defaultFocus(true)
        .layoutWeight(1)
        .textAlign(TextAlign.Start)
    }
    .width('100%')
    .borderRadius({ topLeft: 15, topRight: 15 })
    .backgroundColor(Color.Pink)
    .expandSafeArea([SafeAreaType.SYSTEM], [SafeAreaEdge.TOP, SafeAreaEdge.BOTTOM])
  }
}
分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS 表情面板软键盘
87浏览 • 1回复 待解决
HarmonyOS 软键盘弹出方式
66浏览 • 1回复 待解决
HarmonyOS TextInput软键盘监听
40浏览 • 1回复 待解决
如何实现弹窗软键盘的避让
1572浏览 • 1回复 待解决
HarmonyOS 如何监听软键盘弹出
33浏览 • 1回复 待解决
HarmonyOS 弹窗不避让软键盘
628浏览 • 1回复 待解决
HarmonyOS 如何监听软键盘收起
36浏览 • 1回复 待解决
如何主动收起软键盘
389浏览 • 1回复 待解决
HarmonyOS 软键盘如何主动关闭?
52浏览 • 1回复 待解决
HarmonyOS 软键盘弹出隐藏监听
75浏览 • 1回复 待解决
HarmonyOS如何代码收起软键盘
537浏览 • 1回复 待解决
关于软键盘弹出遮挡问题
1286浏览 • 1回复 待解决
如何判断软键盘是否弹出
2152浏览 • 1回复 待解决
HarmonyOS 如何实现隐藏软键盘功能
41浏览 • 1回复 待解决
HarmonyOS 软键盘挤压Toast弹框
40浏览 • 1回复 待解决
HarmonyOS 如何代码控制软键盘弹出?
476浏览 • 1回复 待解决
HarmonyOS 软键盘弹出控制与检测
6浏览 • 1回复 待解决