reqable / re-editor

Re-Editor is a powerful lightweight text and code editor widget.
https://pub.dev/packages/re_editor
MIT License
510 stars 51 forks source link

有点几个问题 #9

Closed xiaohubase closed 6 months ago

xiaohubase commented 7 months ago

安卓平台收起键盘后点击输入框无法重新弹出键盘,还有当点击其他区域失去焦点后点击输入框无法重新获取焦点 ios平台使用原生键盘长按空格无法移动光标,键盘不会跟随夜间模式

MegatronKing commented 7 months ago

安卓平台收起键盘后点击输入框无法重新弹出键盘

个别设备,还是所有Android都是这样?有复现步骤吗?

ios平台使用原生键盘长按空格无法移动光标

已经提交了一个commit修复了。

键盘不会跟随夜间模式

这个可能和editor无关,你看看TextField是否也是这样?

xiaohubase commented 7 months ago

感谢大佬的回复. 这些问题在TextField都是正常的.

安卓平台收起键盘后点击输入框无法重新弹出键盘

个别设备,还是所有Android都是这样?有复现步骤吗?

测试设备为小米mix2s和红米k40s,其中红米ks40s焦点获取正常 。还有个问题是百度输入法换行没反应 两台设备都这样。TextField是正常的

焦点错误,在mix2s中出现

https://github.com/reqable/re-editor/assets/104586819/ea4f1f8d-737f-44b3-87ac-cf7792d6bc1e

输入法的文本选择焦点会跳到别的组件:

https://github.com/reqable/re-editor/assets/104586819/c0e7a61b-2057-4bf2-88b9-677eb30521d9

百度输入法无法换行,其他设备中都有这个错误:

https://github.com/reqable/re-editor/assets/104586819/d0e13d97-96d0-4d26-ae6d-79f654e7d6a7

ios平台使用原生键盘长按空格无法移动光标

已经提交了一个commit修复了。

我用的就是最新修复的- - ! 在ios系统原生键盘中长按空格可以对光标进行上下左右移动,而re-editor不支持,使用微信输入法可以移动但是会出现删除文本的情况 ios录屏复现:

https://github.com/reqable/re-editor/assets/104586819/62d2f885-3b48-4d6d-90e2-cccc98c9a139

键盘不会跟随夜间模式

这个可能和editor无关,你看看TextField是否也是这样?

TextField 没问题. 这个问题似乎只在ios上出现,这个问题不大

xiaohucode commented 6 months ago

感谢大佬的回复. 这些问题在TextField都是正常的.

安卓平台收起键盘后点击输入框无法重新弹出键盘

个别设备,还是所有Android都是这样?有复现步骤吗?

测试设备为小米mix2s和红米k40s,其中红米ks40s焦点获取正常 。还有个问题是百度输入法换行没反应 两台设备都这样。TextField是正常的

焦点错误,在mix2s中出现

QQ.20240409080703.mp4 输入法的文本选择焦点会跳到别的组件:

default.mp4 百度输入法无法换行,其他设备中都有这个错误:

default.mp4

ios平台使用原生键盘长按空格无法移动光标

已经提交了一个commit修复了。

我用的就是最新修复的- - ! 在ios系统原生键盘中长按空格可以对光标进行上下左右移动,而re-editor不支持,使用微信输入法可以移动但是会出现删除文本的情况 ios录屏复现:

RPReplay_Final1712653036.MP4

键盘不会跟随夜间模式

这个可能和editor无关,你看看TextField是否也是这样?

TextField 没问题. 这个问题似乎只在ios上出现,这个问题不大

https://github.com/reqable/re-editor/blob/c90f5bf932c4ed0914f8e938014ce485e1557da3/lib/src/_code_input.dart#L96 在此处进行处理TextInputAction.newline

  void performAction(TextInputAction action) {
    if (action == TextInputAction.newline) {
      _controller.applyNewLine();
    }
  }

https://github.com/reqable/re-editor/blob/c90f5bf932c4ed0914f8e938014ce485e1557da3/lib/src/_code_input.dart#L166

长按空格浮动光标:在这里需要自己实现updateFloatingCursor

@MegatronKing 大佬有时间修复吗?

MegatronKing commented 6 months ago

@xiaohucode 感谢分析,前面的修改能提个PR给我吗?谢谢!

MegatronKing commented 6 months ago

这个问题,我会在下周统一处理

xiaohucode commented 6 months ago

这个问题,我会在下周统一处理

好的!感谢大佬!👍

MegatronKing commented 6 months ago

这个问题我拆分了下,见 #12 #13

MegatronKing commented 6 months ago

PR #11 是修复了mix2s点击无法获取焦点和百度输入法换行这两个问题吗?

我刚刚测试百度输入法换行确实没反应。但是我没用mix2s设备,尚不清楚点击无法获取焦点是什么原因导致的。

补充:

  1. 百度输入法换行这个修复是OK,我已经验证了。
  2. mix2s点击无法获取焦点这个修改,我觉得不能完全解决问题。保险起见,我准备修改下键盘弹出逻辑,可能会涉及到好几个文件的修改。我的建议是你PR先单独提交换行的修改,我来处理焦点这个问题你帮忙验证下是否修复。
xiaohucode commented 6 months ago

这个问题我拆分了下,见 #12 #13

PR #11 是修复了mix2s点击无法获取焦点和百度输入法换行这两个问题吗?

我刚刚测试百度输入法换行确实没反应。但是我没用mix2s设备,尚不清楚点击无法获取焦点是什么原因导致的。

补充:

  1. 百度输入法换行这个修复是OK,我已经验证了。
  2. mix2s点击无法获取焦点这个修改,我觉得不能完全解决问题。保险起见,我准备修改下键盘弹出逻辑,可能会涉及到好几个文件的修改。我的建议是你PR先单独提交换行的修改,我来处理焦点这个问题你帮忙验证下是否修复。

好的

MegatronKing commented 6 months ago

键盘弹出的问题理论上已经修复,见这个提交:26fecb4ee0bd1ab830d11b5555a6c09bf0159c1d

xiaohucode commented 6 months ago

键盘弹出的问题理论上已经修复,见这个提交:26fecb4ee0bd1ab830d11b5555a6c09bf0159c1d

感谢!我这边测试键盘弹出没问题了