HarmonyOS中软键盘避让模式有哪几种?

阅读 709
3 个回答

当用户在输入时,为了确保输入框不会被键盘遮挡,系统提供了避让模式来解决这一问题。开发者可以通过setKeyboardAvoidMode控制虚拟键盘抬起时页面的避让模式,避让模式有上抬模式和压缩模式两种,键盘抬起时默认页面避让模式为上抬模式。

  • 上抬模式(KeyboardAvoidMode.OFFSET):为了避让软键盘,Page内容会整体上抬。如下示例代码,软键盘弹出时,页面整体上抬:
  • 压缩模式(KeyboardAvoidMode.RESIZE):压缩Page的大小,Page下设置百分比宽高的组件会跟随Page压缩,直接设置宽高的组件会按设置的固定大小布局。设置KeyboardAvoidMode.RESIZE时,expandSafeArea([SafeAreaType.KEYBOARD],[SafeAreaEdge.BOTTOM])不生效。

本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。

在HarmonyOS中,软键盘的避让模式主要有以下两种:

  1. 上抬模式(Offset模式):
    当虚拟键盘弹出时,页面上的内容会自动向上移动,直到露出被键盘遮挡的部分。这种方式可以确保用户在输入时不会受到键盘遮挡的影响,从而提升用户体验。
  2. 压缩模式(Resize模式):
    在这种模式下,当虚拟键盘弹出时,页面的大小会自动压缩,减去键盘的高度。页面中设置了百分比宽高的组件会跟随页面压缩,从而实现键盘拉起时组件上抬的效果。
    这两种模式可以通过setKeyboardAvoidMode API进行设置,可以根据实际情况来进行选择。

本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。

在 HarmonyOS 中,软键盘避让模式主要有以下两种:
上抬模式:当软键盘弹出时,页面会整体上抬,以保证输入框等重要组件能够显示在软键盘上方,避免被软键盘遮挡。例如在聊天页面中,点击输入框弹出软键盘时,整个聊天内容区域会上抬,使输入框始终可见,方便用户进行输入操作。
压缩模式:软键盘弹出时,会压缩页面的可用空间,使页面中的组件根据设置的规则进行相应的调整,比如缩小尺寸等,以适应软键盘的显示,防止底部操作栏等被遮挡。比如在邮件页面中,当点击发件人输入框弹出软键盘时,通过设置软键盘的避让模式为压缩模式,可以使页面整体压缩,从而保证底部的操作按钮依然可见且可操作 。
本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进