Как я могу отключить только клавиатуру, а не TextFormField во флаттере ⇐ IOS
-
Anonymous
Как я могу отключить только клавиатуру, а не TextFormField во флаттере
Я хочу отключить клавиатуру, поскольку получаю данные от RFID-устройства. Но я не хочу отключать TextFormField. Так есть ли вообще эта работа?? По сути, TextFormField получает значение от RFID, поэтому необходимо включить TextFormField для получения входных данных. ЕСЛИ нет, то какой еще способ это сделать?? И если да, то как включить только TextFormField, но не клавиатуру.
import 'package:flutter/material.dart'; импортировать «пакет: pos/constant/use_colors.dart»; класс CheckBalance расширяет StatefulWidget { const CheckBalance({Key? key}) : super(key: key); @переопределить State createState() => _CheckBalanceState(); } класс _CheckBalanceState расширяет State { поздний TextEditingController RFIDController; поздний FocusNode rfidFocusNode; @переопределить недействительный initState() { супер.initState(); rfidController = TextEditingController(); rfidFocusNode = FocusNode(); // Установите фокус на поле RFID при первом отображении экрана WidgetsBinding.instance.addPostFrameCallback((_) => rfidFocusNode.requestFocus()); } @переопределить недействительный располагать () { // Очищаем контроллер и узел фокуса, когда виджет удаляется RFIDController.dispose(); rfidFocusNode.dispose(); супер.dispose(); } @переопределить Сборка виджета (контекст BuildContext) { вернуть эшафот( AppBar: AppBar( фоновый цвет: UseColors.textColor, заголовок: константный текст( 'Проверить баланс', стиль: TextStyle (цвет: UseColors.baseColor), ), ведущий: IconButton( значок: константный значок( Icons.arrow_back_ios_new, цвет: UseColors.baseColor, ), onPressed: () { Навигатор.оф(контекст).pop(); }, ), ), тело: Заполнение( дополнение: const EdgeInsets.all(20.0), ребенок: Столбец( mainAxisAlignment: MainAxisAlignment.center, дети: [ константный текст( «Данные RFID:», стиль: TextStyle( Размер шрифта: 20,0, FontWeight: FontWeight.bold, ), ), const SizedBox (высота: 10,0), ТекстФормФилд( focusNode: rfidFocusNode, контроллер: RFIDController, obscureText: правда, оформление: const InputDecoration( граница: OutlineInputBorder(), EnableBorder: OutlineInputBorder( borderSide: BorderSide(цвет: UseColors.textColor)), focusBorder: OutlineInputBorder( borderSide: BorderSide(цвет: UseColors.textColor)), подсказка: 'Разместите RFID здесь', подсказка: TextStyle( Стиль шрифта: FontStyle.normal, ), ), ), ], ), ), );
Я хочу отключить клавиатуру, поскольку получаю данные от RFID-устройства. Но я не хочу отключать TextFormField. Так есть ли вообще эта работа?? По сути, TextFormField получает значение от RFID, поэтому необходимо включить TextFormField для получения входных данных. ЕСЛИ нет, то какой еще способ это сделать?? И если да, то как включить только TextFormField, но не клавиатуру.
import 'package:flutter/material.dart'; импортировать «пакет: pos/constant/use_colors.dart»; класс CheckBalance расширяет StatefulWidget { const CheckBalance({Key? key}) : super(key: key); @переопределить State createState() => _CheckBalanceState(); } класс _CheckBalanceState расширяет State { поздний TextEditingController RFIDController; поздний FocusNode rfidFocusNode; @переопределить недействительный initState() { супер.initState(); rfidController = TextEditingController(); rfidFocusNode = FocusNode(); // Установите фокус на поле RFID при первом отображении экрана WidgetsBinding.instance.addPostFrameCallback((_) => rfidFocusNode.requestFocus()); } @переопределить недействительный располагать () { // Очищаем контроллер и узел фокуса, когда виджет удаляется RFIDController.dispose(); rfidFocusNode.dispose(); супер.dispose(); } @переопределить Сборка виджета (контекст BuildContext) { вернуть эшафот( AppBar: AppBar( фоновый цвет: UseColors.textColor, заголовок: константный текст( 'Проверить баланс', стиль: TextStyle (цвет: UseColors.baseColor), ), ведущий: IconButton( значок: константный значок( Icons.arrow_back_ios_new, цвет: UseColors.baseColor, ), onPressed: () { Навигатор.оф(контекст).pop(); }, ), ), тело: Заполнение( дополнение: const EdgeInsets.all(20.0), ребенок: Столбец( mainAxisAlignment: MainAxisAlignment.center, дети: [ константный текст( «Данные RFID:», стиль: TextStyle( Размер шрифта: 20,0, FontWeight: FontWeight.bold, ), ), const SizedBox (высота: 10,0), ТекстФормФилд( focusNode: rfidFocusNode, контроллер: RFIDController, obscureText: правда, оформление: const InputDecoration( граница: OutlineInputBorder(), EnableBorder: OutlineInputBorder( borderSide: BorderSide(цвет: UseColors.textColor)), focusBorder: OutlineInputBorder( borderSide: BorderSide(цвет: UseColors.textColor)), подсказка: 'Разместите RFID здесь', подсказка: TextStyle( Стиль шрифта: FontStyle.normal, ), ), ), ], ), ), );
Мобильная версия