Flutter/iOS/Web: Держите клавиатуру на экране после нажатия кнопкиIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Flutter/iOS/Web: Держите клавиатуру на экране после нажатия кнопки

Сообщение Anonymous »

У меня есть проблема в iOS /Web (я тестирую на iPhone XR, работающий с iOS 15.4.1) < /p>
У меня есть текстовое поле и кнопку, и я хочу < /p>

что текстовое поле изначально фокусируется, а клавиатура показывает, что нажатие на кнопку «Фокус», и нажатие кнопки «Фокуса», и нажатие на кнопку «Фокуса». экран. < /li>
< /ul>
Прямо сейчас у меня есть это < /p>

Код: Выделить всё

class _MyWidgetState extends State {
final FocusNode focusNode = FocusNode();

@override
Widget build(BuildContext context) {
return Column(
children: [
TextField(
focusNode: focusNode,
autofocus: true,
decoration: InputDecoration(
hintText: "name2",
),
),
OutlinedButton(onPressed: (){
focusNode.requestFocus();
}, child: Text("Done"))
]
);
}
}
< /code>
Но клавиатура не появляется изначально (хотя текстовое поле выглядит сфокусированным). Он появляется после нажатия один раз в текстовом поле, но он снова исчезает после нажатия на кнопку «Готово» (что, вероятно, имеет смысл, так как я думаю, что кнопка «Готово» здесь получает фокус) < /p>
У меня в основном два вопроса: < /p>

 Почему клавиш не появляется изначально?  Я могу «решить» эту часть, добавив, в инициатор, что -то вроде ниже, но я не уверен, что это самый чистый способ сделать это. < /Li>
< /ul>

focusNode.addListener(() {
if (!focusNode.hasFocus) {
FocusScope.of(context).requestFocus(focusNode);
}
});


Подробнее здесь: https://stackoverflow.com/questions/723 ... g-a-button
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»