Использовать палитру Купертино вместо клавиатуры при вводе флаттера текстового поля - PullRequest
0 голосов
/ 03 апреля 2020

Я ios разработчик, который является новым для Flutter. В моем приложении у меня есть TextFormField, чей тип ввода - это параметры, заданные в средстве выбора. Я изо всех сил пытаюсь показать представление выбора как представление ввода вместо клавиатуры. Мой желаемый вывод выглядит следующим образом

ссылка на изображение

1 Ответ

0 голосов
/ 03 апреля 2020
TextEditingController _controller = TextEditingController();

 Future<void> _selectedNumber(BuildContext context) async {
    int number = await showCupertinoModalPopup(
      context: context,
      builder: (context) => Container(
        height: 250,
        child: CupertinoPicker(
          itemExtent: 50,
          onSelectedItemChanged: (int value) {
            _controller.text = (value + 1).toString();
          },
          children: numbers
              .map(
                (number) => Text(number.toString()),
              )
              .toList(),
        ),
      ),
    );
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: GestureDetector(
          onTap: () => _selectedNumber(context),
          child: AbsorbPointer(
            child: TextFormField(
              keyboardType: TextInputType.datetime,
              controller: _controller,
              decoration: InputDecoration(
                hintText: 'Select A Number',
                prefixIcon: Icon(
                  Icons.format_list_numbered,
                ),
              ),
            ),
          ),
        ),
      ),
    );
  }
}


Это то, что вы ищете?

...