• IOS和安卓使用的内核不同,安卓对软键盘的处理方式是改变当前窗口的大小,而IOS则是帮用户把光标移到可见区域

  • 在用户操作输入时,如果界面发生太大的变化,是会给用户带来不安全感的(用户觉得界面不太稳定,不友好)

  • 为了尽最大的努力改善H5中输入内容的体验,需要将ios和安卓的差异去掉,使用体验一致的webview内核,然后借助js脚本进行优化

  • 输入框的优化可以包含以下内容:

  1. 输入框获取焦点后,界面的变化最小,尽量不要让界面上移,输入框的相对位置不变;
  2. 软件键盘遮盖输入框时,适当上移一定距离到可视区域;
  3. 多行文本改为自适应高度,当用户输入内容超出定义高度后,每换行一次应当自动上滚一定距离,保持光标与可视区域底部的距离,如用户粘贴大量文本,并且输入框在3d加速的区域内时,应当延迟填充输入框的内容(避免3d加速区域因操作不当渲染出错);
  4. 安卓键盘收起后,不会自动失去焦点,应该能自动失去焦点,原因是在多数场景下需要用blur(失去焦点事件)来完成一些自动化的体验;
文档更新时间: 2020-01-20 10:59   作者:吴俊源