gpt4 book ai didi

android - 使用 RTL 语言编辑文本时 Flutter 中的错误

转载 作者:行者123 更新时间:2023-12-03 08:04:50 24 4
gpt4 key购买 nike

Flutter 在使用 RTL(从右到左)TextField 时存在错误。如果我们点击(A),光标将停在B处,即文本末尾的前一个,并且我们无法编辑最后一个字符!我创建了这个问题,希望 Flutter 人们能够看到它并修复它

enter image description here

最佳答案

我解决了这个错误..

在您的 TextField 中,您应该使用 Controller 和 onTab 函数写入

if (textController.selection ==
TextSelection.fromPosition(TextPosition(
offset:
textController.text.length -
1))) {
textController.selection =
TextSelection.fromPosition(TextPosition(
offset: textController.text.length));
}

完整示例,例如

   TextField(
textAlign: TextAlign.right,
textDirection: TextDirection.rtl,
controller:textController,
maxLength: 10,
onTap: () {
if (textController.selection ==
TextSelection.fromPosition(TextPosition(
offset:
textController.text.length -
1))) {
textController.selection =
TextSelection.fromPosition(TextPosition(
offset:textController.text.length));
}
},
onChanged: (text) { },
);

关于android - 使用 RTL 语言编辑文本时 Flutter 中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72726230/

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