如何在Flutter中将iOS键盘的"done"按钮改为"Done"(大写D)
修改键盘TextInputAction按钮文本为"Done"
方案1:自定义按钮替代原生Action(跨平台通用,以Flutter为例)
默认的TextInputAction.done按钮文本受系统语言/键盘设置控制,要强制显示首字母大写的"Done",可以通过自定义输入框后缀按钮替代原生键盘的action按钮:
- 给
TextField设置textInputAction: TextInputAction.none,隐藏原生done按钮 - 在
InputDecoration的suffixIcon中添加自定义TextButton,文本设为"Done" - 点击按钮时执行收起键盘、提交逻辑等操作
示例代码:
TextField( textInputAction: TextInputAction.none, decoration: InputDecoration( suffixIcon: TextButton( onPressed: () { // 执行done按钮的业务逻辑,比如提交表单 FocusScope.of(context).unfocus(); // 收起键盘 }, child: const Text("Done"), ), ), )
方案2:平台原生配置修改
如果要直接修改原生键盘的按钮文本,需针对不同平台单独配置:
- Android:在
res/values/styles.xml中自定义EditText样式,指定actionButtonText为"Done",替换默认的输入框样式 - iOS:原生键盘的返回键文本受系统语言约束,强制修改需自定义键盘组件,或通过
UITextField的代理方法调整显示文本
注意事项
原生键盘的action按钮文本通常遵循系统设计规范,强制修改可能破坏系统交互一致性,优先推荐自定义按钮的方案,兼顾灵活性和跨平台体验
内容的提问来源于stack exchange,提问作者priyank apps
相关产品推荐
相关产品推荐

