带有数字键盘的 Flutter TextField,需要逗号而不是句点(仅 iOS)
Flutter TextField with number keyboard, comma is needed instead of period (Only iOS)
我想在 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 上,您必须在 ios 构建设置中启用 de(或 en_US 以外的任何其他语言环境)语言环境,即使对于 flutter 应用程序也是如此。使用 Xcode 打开 flutter 应用程序的 ios/Runner.xcworkspace。 Select 项目负责人。在 "Info" 页面上,您将在 "Localisations" 下看到为您的应用启用的区域设置。在此处添加 de locale(或任何其他)。重建应用程序(通过 Xcode 或 Flutter,无所谓)。
也可以在这里查看另一种方法:
我想在 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 上,您必须在 ios 构建设置中启用 de(或 en_US 以外的任何其他语言环境)语言环境,即使对于 flutter 应用程序也是如此。使用 Xcode 打开 flutter 应用程序的 ios/Runner.xcworkspace。 Select 项目负责人。在 "Info" 页面上,您将在 "Localisations" 下看到为您的应用启用的区域设置。在此处添加 de locale(或任何其他)。重建应用程序(通过 Xcode 或 Flutter,无所谓)。
也可以在这里查看另一种方法: