Flutter的login_fresh包输入框hint text不显示,如何配置展示提示文本?
解决方案
你使用的login_fresh包默认内置的登录、注册页面未开放hint文本配置参数,要实现需求有两种可行方案,优先推荐第一种:
方案1:自定义登录/注册页面(官方原生支持,无兼容性问题)
你现有代码中传入的widgetLoginFreshUserAndPassword、widgetLoginFreshSignUp就是包开放给开发者的自定义页面入口,你只需自行实现这两个Widget,在内部的TextField组件的decoration属性中配置hintText即可,示例代码如下:
// 自定义账号密码登录页实现示例 Widget widgetLoginFreshUserAndPassword() { final TextEditingController accountController = TextEditingController(); final TextEditingController pwdController = TextEditingController(); return Scaffold( backgroundColor: Colors.black, // 与你之前配置的LoginFresh主题保持统一 body: SafeArea( child: Padding( padding: const EdgeInsets.all(20), child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Image.asset('assets/images/horario.jpg', height: 100), const SizedBox(height: 30), TextField( controller: accountController, style: const TextStyle(color: Colors.black), decoration: const InputDecoration( hintText: '请输入账号', // 此处为账号输入框hint文本 filled: true, fillColor: Colors.white, border: OutlineInputBorder(), ), ), const SizedBox(height: 15), TextField( controller: pwdController, obscureText: true, style: const TextStyle(color: Colors.black), decoration: const InputDecoration( hintText: '请输入密码', // 此处为密码输入框hint文本 filled: true, fillColor: Colors.white, border: OutlineInputBorder(), ), ), const SizedBox(height: 20), ElevatedButton( onPressed: () { // 自行实现登录校验逻辑 }, child: const Text('登录'), ) ], ), ), ), ); }
注册页同理,自行实现widgetLoginFreshSignUp方法,给对应输入框添加hintText参数即可。你还可以根据需求在自定义页面中添加记住密码、验证码、忘记密码等扩展功能,灵活度远高于内置页面。
方案2:修改包源码(不推荐,更新包后修改会失效)
如果不想完全自定义页面,可在项目的pub缓存目录中找到login_fresh包的源码,定位到内置登录、注册页的TextField定义位置,手动添加hintText配置,修改后热重载即可生效。
内容的提问来源于stack exchange,提问作者Prashant Kumar
相关产品推荐
相关产品推荐

