Класс FocusNode
Класс FocusNode передают в TextField и Focus.
Синтаксис
FocusNode()
Методы
| Метод | Описание |
|---|---|
requestFocus |
Передаёт фокус этому FocusNode. Давайте разберём вызов на примерах.
|
unfocus |
Снимает фокус с этого FocusNode. Давайте разберём вызов на примерах.
|
dispose |
Освобождает ресурсы FocusNode и отписывает listener. Давайте разберём вызов на примерах.
|
addListener |
Добавляет VoidCallback, который вызовут при смене hasFocus. Давайте разберём вызов на примерах.
|
removeListener |
Удаляет ранее добавленный listener. Давайте разберём вызов на примерах. |
nextFocus |
Передаёт фокус следующему FocusNode в порядке обхода. Давайте разберём вызов на примерах.
|
previousFocus |
Передаёт фокус предыдущему FocusNode в порядке обхода. Давайте разберём вызов на примерах.
|
Пример
Давайте привяжем к полю:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: TextField(focusNode: FocusNode(), decoration: const InputDecoration(labelText: 'abcde')),
),
),
),
);
}
На экране поле с собственным узлом фокуса.
Пример
Давайте повторим:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: TextField(focusNode: FocusNode(), decoration: const InputDecoration(hintText: '12345')),
),
),
),
);
}
На экране поле с подсказкой '12345'.
Смотрите также
-
виджет
Focus,
который управляет фокусом в поддереве -
виджет
TextField,
который принимает текст с клавиатуры -
метод
requestFocus,
который переводит фокус на узел -
виджет
FocusTraversalGroup,
который задаёт порядокTabмежду полями