[Flutter] 다음 TextField에 Focus하기

locked·2020년 12월 15일
0

여러 개의 TextField가 있을때, 엔터 버튼을 통해서 다음으로 이동하고 싶을 때가 있다.

먼저, TextField의 엔터 위치의 버튼을 변경해야한다.

키보드 액션 버튼 변경

// build
TextFormField(
  textInputAction: TextInputAction.next,
  ...
)
  • 키보드의 엔터 위치에 해당하는 기능을 next로 변경

키보드 이벤트 추가

// build
TextFormField(
  onEditingComplete: () => nextEditableTextFocus(),
  ...
)
// nextEditableTextFocus
void nextEditableTextFocus() {
  do {
    FocusScope.of(context).nextFocus();
  } while (FocusScope.of(context).focusedChild.context.widget is! EditableText);
}
  • 키보드의 onEditingComplete 일 때, 해당 기능 수행
profile
Hi, world!

0개의 댓글