HarmonyOS hsp中的Component如何设置键盘避让?

在hsp中没有Ability文件如何在单个页面或者封装的组件中设置键盘避让?为什么设置.expandSafeArea([SafeAreaType.KEYBOARD,SafeAreaType.SYSTEM],[SafeAreaEdge.TOP])不生效?

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

请参考以下代码:

注意:安全区域只对页面级别的组件生效,对半模态,自定义弹窗都不生效。

@Entry
@Component
struct Main {
  @State isShow: boolean = false
  @Builder
  myBuilder() {
    Column() {
      Button("关闭半模态").onClick(()=>{
        this.isShow = false
      })
      TextInput()
    }

    .expandSafeArea([SafeAreaType.SYSTEM,SafeAreaType.KEYBOARD], [SafeAreaEdge.TOP, SafeAreaEdge.BOTTOM])
    .borderRadius(10)
    .width("100%")
  }

  build() {
    Column() {
      Button('click me 打开半模态')
        .onClick(() => {
          this.isShow = !this.isShow
        })
    }
    .expandSafeArea([SafeAreaType.SYSTEM,SafeAreaType.KEYBOARD], [SafeAreaEdge.TOP, SafeAreaEdge.BOTTOM])
    .bindSheet($$this.isShow, this.myBuilder(), { height: 400})
    .justifyContent(FlexAlign.End)
    .width('100%')
    .height('100%')
  }
}
分享
微博
QQ
微信
回复
2天前
相关问题
HarmonyOS 键盘避让
9浏览 • 1回复 待解决
如何实现键盘避让机制
2821浏览 • 1回复 待解决
如何实现弹窗和软键盘避让
1571浏览 • 1回复 待解决
HarmonyOS 弹窗不避让键盘
628浏览 • 1回复 待解决