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

HarmonyOS
2024-12-25 13:21:16
浏览
收藏 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));
分享
微博
QQ
微信
回复
2024-12-25 15:55:12
相关问题
HarmonyOS 弹窗不避让软键盘
817浏览 • 1回复 待解决
如何实现弹窗软键盘的避让
1828浏览 • 1回复 待解决
HarmonyOS 弹窗布局被软键盘压缩
69浏览 • 1回复 待解决
HarmonyOS 如何实现隐藏软键盘功能
222浏览 • 1回复 待解决
HarmonyOS 如何实现调用起来软键盘
137浏览 • 1回复 待解决
HarmonyOS 如何监听软键盘弹出
270浏览 • 1回复 待解决
HarmonyOS 如何监听软键盘收起
269浏览 • 1回复 待解决
HarmonyOS 软键盘操作API
91浏览 • 1回复 待解决
如何判断软键盘是否弹出
2308浏览 • 1回复 待解决
HarmonyOS 如何控制软键盘打开、收起?
1183浏览 • 1回复 待解决
HarmonyOS 如何代码控制软键盘弹出?
624浏览 • 1回复 待解决
如何主动收起软键盘
520浏览 • 1回复 待解决
HarmonyOS如何代码收起软键盘
697浏览 • 1回复 待解决
HarmonyOS 软键盘如何主动关闭?
225浏览 • 1回复 待解决