输入文本格式字段颤动时,使用cupertino选择器代替键盘

问题描述 投票:0回答:1

我是Flutter的iOS开发人员。在我的应用程序中,我有TextFormField,其输入类型是选择器中提供的选项。我正在努力将选择器视图显示为输入视图而不是键盘。我想要的输出如下

image link

flutter textfield inputview pickerview cupertinopicker
1个回答
0
投票
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,
                ),
              ),
            ),
          ),
        ),
      ),
    );
  }
}


这是您要寻找的吗?

© www.soinside.com 2019 - 2024. All rights reserved.