HarmonyOS CustomDialog有输入框,如何禁止软键盘顶起Dialog

软键盘会顶起dialog,输入框超出屏幕不可见

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

自定义弹窗规格问题,无法控制弹窗不被键盘顶起的情况。

1、可看下半模态相关文档看是否符合诉求

2、请参考以下示例

@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
微信
回复
2天前
相关问题
HarmonyOS 输入框软键盘问题
37浏览 • 1回复 待解决
HarmonyOS 自定义键盘不能顶起输入框
391浏览 • 1回复 待解决
HarmonyOS 半模态会被软键盘顶起
11浏览 • 1回复 待解决
HarmonyOS dialog软键盘
34浏览 • 1回复 待解决
H5页面输入框自动获焦弹起软键盘
1912浏览 • 1回复 待解决
HarmonyOS 输入框dialog示例
43浏览 • 1回复 待解决
CustomDialog软键盘的问题
457浏览 • 1回复 待解决
HarmonyOS 键盘遮挡输入框
17浏览 • 1回复 待解决
HarmonyOS 软键盘挤压Toast弹
40浏览 • 1回复 待解决
HarmonyOS 如何控制输入框弹出键盘
25浏览 • 1回复 待解决
HarmonyOS 软键盘会变为非数字输入
30浏览 • 1回复 待解决