带有数字键盘的Flutter TextField,需要逗号而不是句点(仅iOS)

时间:2019-04-08 09:38:15

标签: ios flutter textfield

我想在Flutter中创建一个TextField。 TextField用于十进制数字。所以我设置了keyboardType: TextInputType.numberWithOptions(decimal: true)。现在我在iOS上得到了一个数字键盘,但是这个数字键盘有一个句点(。)而不是逗号(,)。 iOS设备的语言为德语

我当前的TextField:

TextField(
  key: Key("pricePerLiter"),
  style: TextStyle(color: inputTextColor),
  textAlign: TextAlign.end,
  focusNode: pricePerLiterFocusNode,
  keyboardType:
      TextInputType.numberWithOptions(decimal: true),
  decoration: inputDecoration.copyWith(
      suffixText: "€", errorText: pricePerLiterError),
  controller: pricePerLiterTextController,
  onEditingComplete: () {},
  onChanged: (value) {},
)

我的本​​地化设置如下,在我的Material应用程序中:

MaterialApp(
  localizationsDelegates: [
    GlobalMaterialLocalizations.delegate,
    GlobalWidgetsLocalizations.delegate,
  ],
  supportedLocales: [
    const Locale('de', 'DE'),
  ],
  home: MyHomePage(),
)

要获取带有逗号(,)而不是句点(。)的数字键盘,我需要更改什么?

1 个答案:

答案 0 :(得分:1)

在iOS上,即使对于Flutter应用程序,也必须在ios构建设置中启用de(或en_US以外的任何其他语言环境)语言环境。使用Xcode打开flutter应用程序的ios / Runner.xcworkspace。选择项目运行器。在“信息”页面上,您将在“本地化”下看到为您的应用启用的语言环境。在此处添加本地语言环境(或其他任何语言环境)。重建应用程序(通过Xcode或Flutter,无关紧要)。

在这里也可以找到另一种方法:

https://flutter.dev/docs/development/accessibility-and-localization/internationalization#appendix-updating-the-ios-app-bundle