问题描述:TextField的hint内容和输入内容不能对齐 首先看到的现象就是TextField的hint内容和输入内容不能对齐,后来发现输入的过程中光标也无法和hint内容对齐。 经多方查找无结果,后来看到了有篇问题这样描述Flutter设置中文Locale后TextField的光标不对齐hintText的问题。 解决方案在https://github.com/flutter/flutter/issues/43482 主要是我的应用开始代码设置全局多语言的处理 MaterialApp( theme: ThemeData(primaryColor: const Color(ConstantData.theme_bg_title_color_green)), localizationsDelegates: [ GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate ], supportedLocales: [const Locale("zh", "CH"), const Locale("en", "US")], //路由表 routes: { // ConstantData.Route_TerminalDetail: (context) => TerminalDetail.init(null), }, home: new LoginPage(), );
后来改为这样的才可以
MaterialApp(
theme: ThemeData(primaryColor: const Color(ConstantData.theme_bg_title_color_green)),
localizationsDelegates: [
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate
],
locale: const Locale("en", "US"),
supportedLocales: [const Locale("zh", "CH"),
const Locale("en", "US")],
//路由表
routes: {
// ConstantData.Route_TerminalDetail: (context) => TerminalDetail.init(null),
},
home: new LoginPage(),
);
也就是说应用初始化需要使用英文语言,如果全局多语言改为了中文或者不设置local,在后面的页面中的TextField即使local设置了英文也不起作用,记录一下,具体原因待考究