flutter 文本字段上的抖动光标位置

kyxcudwk  于 2022-12-05  发布在  Flutter
关注(0)|答案(2)|浏览(157)

我想在光标位置后追加文本。例如:当用户将光标移到文本字段中间时。我想获取光标在文本上的位置,并在光标位置后添加文本。
我尝试使用文本编辑控制器,但我不能达到光标位置与此。如何才能检测光标位置的文本字段?

bf1o4zei

bf1o4zei1#

我解决了这个问题;

// Get cursor current position
                    var cursorPos =
                        _textEditController.selection.base.offset;

                    // Right text of cursor position
                    String suffixText =
                        _textEditController.text.substring(cursorPos);

                    // Add new text on cursor position
                    String specialChars = ' text_1 ';
                    int length = specialChars.length;
                    
                    // Get the left text of cursor
                    String prefixText =
                        _textEditController.text.substring(0, cursorPos);

                    _textEditController.text =
                        prefixText + specialChars + suffixText;
                    
                    // Cursor move to end of added text
                    _textEditController.selection = TextSelection(
                      baseOffset: cursorPos + length,
                      extentOffset: cursorPos + length,
                    );
nzrxty8p

nzrxty8p2#

int position =  controller.selection.base.offset;

简单地得到光标的位置和分裂它的firstpart和secondpart添加文本什么你想要插入
控制器.text=第一部分+“某个文本”+最后部分;

相关问题