gpt4 book ai didi

flutter - 如何防止 TextField 小部件的光标抖动? - flutter

转载 作者:行者123 更新时间:2023-12-03 21:15:26 25 4
gpt4 key购买 nike

https://imgur.com/X2gEMqO

查看视频以了解我在说什么⤴

在我开始制作自定义小部件之前,我想看看是否有人知道用 vanilla Flutter 解决这个问题的方法。它似乎与 TextEditingController 相关,但我不完全确定。

当 TextField 设置为居中或右对齐时,它似乎工作得很好,但在左/开始/对齐时,它似乎总是有轻微的抖动。

提前致谢! ~ 我也可以把它发布到 Github 存储库

编辑:您可以看到只有当光标移动到文本字段的左侧时才会抖动。当它在字符串内移动时,它根本不会抖动。我在模拟的 iPhone 11 上对此进行了测试

最佳答案

这个问题有两个部分。一、cursorOffset无论出于何种原因,text_field.dart 的 x 值为负。
这会导致光标卡在它的容器中,使宽度看起来很奇怪。二、TextStyle.height属性导致光标跳转。

I figured out how to fix this thanks to Pavel!


TextField - 字体大小 50.0/高度 1.30
https://imgur.com/gallery/G9bkcIf
TextField - 字体大小 20.0/高度 1.30
https://imgur.com/gallery/x7a5nzM

修复光标偏移
  • cursorOffset 值存储在 text_field.dart 文件中。在
    为了编辑它,您可能应该创建一个副本
    要自定义的 text_field.dart 文件。 Here's how to do that ,
    尽管您可能会通过 Google 找到更好的答案
  • 准备好编辑文件后,导航至 cursorOffsetTargetPlatform.iOS .它应该在第 924 行左右,如果
    您的文件未修改。
  • 更改 Offset(...) 的值分别为 0 & 0 (x, y) 或
    任何你认为合适的。
  • 如果您正确复制了 text_field.dart 文件,那么它应该
    马上上类!

  • 修复光标跳转
  • 这个修复工作要少得多。只需将 TextStyle 小部件添加到style: TextField 小部件的属性。
  • 然后,只需填写height您的属性(property)TextStyle小部件
    不管你怎么想!我发现 1.3 是一个很好的中位数,但选择
    字体大小的最佳高度。 Here's some information onheight:

  • 关于这个的 Github 问题
    https://github.com/flutter/flutter/issues/31661

    关于flutter - 如何防止 TextField 小部件的光标抖动? - flutter ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61145709/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com