Flutter 在编辑模式下更改日期格式,而不是在Flatter showDatePicker()中拾取日期

Flutter 在编辑模式下更改日期格式,而不是在Flatter showDatePicker()中拾取日期,flutter,datepicker,dateformatter,Flutter,Datepicker,Dateformatter,我正在使用showDatePicker()在我的Flatter应用程序中选择日期。我将日期格式更改为我的要求,即dd/MM/yyyy。一切正常,但如果我单击日期选择器中的编辑笔图标并输入dd/MM/yyyy(15/10/2020)格式,则其显示的格式无效 请在这件事上帮助我。这是我的密码 TextFormField( controller: startDateAnnuityCtl, validator: (String value) { if (value.isEmpty) {

我正在使用showDatePicker()在我的Flatter应用程序中选择日期。我将日期格式更改为我的要求,即dd/MM/yyyy。一切正常,但如果我单击日期选择器中的编辑笔图标并输入dd/MM/yyyy(15/10/2020)格式,则其显示的格式无效

请在这件事上帮助我。这是我的密码

TextFormField(
  controller: startDateAnnuityCtl,
  validator: (String value) {
    if (value.isEmpty) {
      return 'Enter Start date of annuity *';
    } else {
          _formObject.amrfNoAnnuityStartString = value;
    }
    return null;
  },
  onSaved: (String value) {
    _formObject.amrfNoAnnuityStartString = value;
  },
  decoration: InputDecoration(
      isDense: true, // Added this
      contentPadding: EdgeInsets.all(12),
      filled: true,
      fillColor: Color(0xff5a9fd6).withOpacity(0.15),
      focusedBorder: OutlineInputBorder(
        borderSide: BorderSide(
          color: Color(0xff5a9fd6).withOpacity(1.0),
        ),
        borderRadius: BorderRadius.circular(2.0),
      ),
      enabledBorder: OutlineInputBorder(
        borderSide: BorderSide(
          color: Colors.transparent,
        ),
        borderRadius: BorderRadius.circular(1.0),
      )),
  onTap: () async {
    formKey1.currentState.save();
    DateTime date = DateTime(1900);
    FocusScope.of(context).requestFocus(new FocusNode());
    date = await showDatePicker(
        context: context,

        initialDate: DateTime.now(),
        firstDate: DateTime(1900),
        lastDate: DateTime(2100));
    if (date != null) {
      setState(() {
        var dtnew =
        new DateFormat('dd/MM/yyyy').format(date);
        _formObject.amrfNoAnnuityStartString = dtnew;
        startDateAnnuityCtl.text = _formObject.amrfNoAnnuityStartString;
      });
    }
  },
),

在日期选择器中输入日期时,它以MM/dd/yyyy格式输入。因此,您会得到一个错误,表示格式无效。目前,我没有找到在日期选择器中更改文本字段格式的解决方案。

不确定这是否是最好的方法,但我创建了自己的DefaultMaterialLocalization并更改了parseCompactDate方法的行为。

注意:非常简短和/或发帖中的问题可能应该是注释。你只需要50个代表点就可以在一个问题下发表评论-你能把这个移到那里吗?