我想在 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(),
)
我需要更改什么才能获得使用逗号 (,) 而不是句点 (.) 的数字键盘?
最佳答案
在 iOS 上,即使是 flutter 应用程序,您也必须在 ios build设置中启用 de(或除 en_US 之外的任何其他语言环境)语言环境。使用 Xcode 打开 flutter 应用程序的 ios/Runner.xcworkspace。选择项目运行器。在“信息”页面上,您会在“本地化”下看到为您的应用启用的语言环境。在此处添加 de locale(或任何其他)。重建应用程序(通过 Xcode 或 Flutter,无关紧要)。
另请参阅此处的另一种方法:
关于ios - 带有数字键盘的 Flutter TextField,需要逗号而不是句点(仅限 iOS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55570414/