본문 바로가기
Flutter/Flutter FAQ

Flutter의 TextField에서 값의 끝에 커서 위치를 설정하는 방법은 무엇인가요?, how to set cursor position at the end of the value in flutter in textfield?

by 베타코드 2023. 5. 28.
반응형

질문


저는 텍스트 필드의 값 끝에 ,00을 추가하고 싶습니다.

iOS 기기에서는 잘 작동하지만 Android에서는 커서가 텍스트 필드의 값 시작 지점으로 이동합니다. 결과적으로 ,00을 추가할 수 없습니다.


답변


저는 TextEditingController을 설정하는 데 동일한 문제를 겪고 있었는데, 이게 제게 작동했습니다.

controller.text = someString;
controller.selection = TextSelection.fromPosition(TextPosition(offset: controller.text.length));

TextSelection.fromPosition()은 다음을 수행합니다 (문서에서):

주어진 텍스트 위치에서 축소된 선택을 생성합니다. 축소된 선택은 시작과 끝이 동일한 오프셋에서 시작하며, 이는 텍스트에 0개의 문자를 포함하지만 텍스트에 삽입 지점으로 사용됩니다.

편집 - 다른 버전, 좀 더 짧고 여기서 제안한 것입니다:

controller.text = someString;
controller.selection =
          TextSelection.collapsed(offset: controller.text.length);
반응형

댓글