Как отключить экранную клавиатуру при запуске view в Flutter?

#flutter #keyboard #textformfield

#flutter #клавиатура #textformfield

Вопрос:

Я начал писать приложение Flutter для удаленного управления некоторым радиопотоком. Я столкнулся с проблемой при добавлении TextFormField для отображения текущей настройки громкости потока. (Причина, по которой я выбрал TextFormField вместо просто Text , заключается в том, что я хотел использовать поле как для отображения текущей настройки, так и для того, чтобы позволить пользователю изменять текущее значение в одном месте.)

Проблема заключается в следующем: когда я добавил TextFormField (расположен внутри зеленой панели на снимке экрана ниже, после текста Vol: ), я понял, что всякий раз, когда я запускал этот просмотр / страницу, встроенная клавиатура всегда отображалась по умолчанию при входе на страницу.

Вместо этого я бы хотел, чтобы клавиатура отображалась только тогда, когда пользователь нажимает внутри TextFormField .

Код для TextFormField выглядит следующим образом:

 TextFormField(
  onFieldSubmitted: (value){
    print("The value entered is : $value");
  },
  // Define keyboard type
  keyboardType: TextInputType.number,
  // Make sure user doesn't enter letters or punctuation
  inputFormatters: <TextInputFormatter>[WhitelistingTextInputFormatter.digitsOnly],
  validator: (val){
    return null; 
  },
  autofocus: true,
  controller: volTextEditingController,
  style: TextStyle(
    color: Colors.white,
    fontSize: 16,
  ),
  decoration: InputDecoration(
    border: InputBorder.none,
  ),
  maxLines: 1,
)
  

Итак, мне было интересно, знает ли кто-нибудь, как предотвратить появление клавиатуры при запуске показанного вида / страницы. Заранее спасибо! Полный код, при необходимости, доступен на GitGub.

введите описание изображения здесь

Ответ №1:

Я только что выяснил, что эта проблема была вызвана настройкой autofocus: true . Итак, удаление этого решает проблему.