HarmonyOS 如何实现弹窗不规避软键盘

HarmonyOS
2024-12-25 13:21:16
380浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
fox280

参考示例:

import { RouterManager } from 'router/Index';

@Preview
@Component
export struct PrivacyDialog {
  // @Consume('pageInfo') pageStack : NavPathStack;
  @State isAgree: string = "Not Agree";

  aboutToAppear(): void {

  }

  build() {
    NavDestination() {
      Stack({ alignContent: Alignment.Center }) {
        Column() {
        }
        .width("100%")
        .height("100%")
        .backgroundColor('rgba(0,0,0,0.5)')

        Column() {
          Text("注册应用账号").fontSize(30).height('20%')
          Text("请您仔细阅读一下协议并同意,全力保护个人信息安全,可以使用账号登录APP。").height('40%')
          Divider()
          Row() {
            Button("《应用隐私政策》",
              { type: ButtonType.Normal, stateEffect: true, buttonStyle: ButtonStyleMode.TEXTUAL })
              .onClick(ent => {
                // let pathInfo : NavPathInfo = new NavPathInfo('PrivacyItem', null
                //   , (popInfo: PopInfo) => {
                //     this.isAgree = popInfo.result.toString();
                //   })
                RouterManager.pushPath("privacyItem", null, (popInfo: PopInfo) => {
                  this.isAgree = popInfo.result.toString();
                }, false)
              })
            Text(this.isAgree)
          }.height('20%')

          TextInput()
            .backgroundColor(Color.Green)
            .height(150)
          Divider()
          Row() {
            Button("不同意").onClick(ent => {
              RouterManager.pop("Not Agree", false)
            }).width('30%')
            Button("同意").onClick(ent => {
              RouterManager.pop("Agree", false)
            }).width('30%')
          }.height('20%')
          .justifyContent(FlexAlign.SpaceEvenly)
          .width('100%')
        }.backgroundColor(Color.White)
        .width('80%')
        .height('50%')
      }
    }.hideTitleBar(true)
    .mode(NavDestinationMode.DIALOG)
    .expandSafeArea([SafeAreaType.SYSTEM, SafeAreaType.KEYBOARD], [SafeAreaEdge.TOP, SafeAreaEdge.BOTTOM])
    .onReady((ctx) => {
      console.log("==== PrivacyDialog onReady");
    })
  }
}

@Builder
export function getPrivacyDialog(): void {
  PrivacyDialog();
}

// DynamicsRouter.registerRouterPage(RouterInfo.PRIVACY_DIALOG, wrapBuilder(getPrivacyDialog));
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
分享
微博
QQ
微信
回复
2024-12-25 15:55:12
相关问题
如何实现弹窗软键盘的避让
2323浏览 • 1回复 待解决
HarmonyOS 弹窗不避让软键盘
1350浏览 • 1回复 待解决
HarmonyOS 弹窗布局被软键盘压缩
587浏览 • 1回复 待解决
HarmonyOS 如何实现隐藏软键盘功能
779浏览 • 1回复 待解决
HarmonyOS 如何实现调用起来软键盘
610浏览 • 1回复 待解决
HarmonyOS 如何监听软键盘弹出
892浏览 • 1回复 待解决
HarmonyOS 如何监听软键盘收起
929浏览 • 1回复 待解决
HarmonyOS 软键盘操作API
549浏览 • 1回复 待解决
如何主动收起软键盘
955浏览 • 1回复 待解决
如何判断软键盘是否弹出
2806浏览 • 1回复 待解决
HarmonyOS如何代码收起软键盘
1130浏览 • 1回复 待解决
HarmonyOS 软键盘如何主动关闭?
601浏览 • 1回复 待解决
HarmonyOS 如何控制软键盘打开、收起?
1993浏览 • 1回复 待解决
HarmonyOS 如何代码控制软键盘弹出?
1153浏览 • 1回复 待解决