如何在 Flutter 中完全隐藏密码输入?
Posted
技术标签:
【中文标题】如何在 Flutter 中完全隐藏密码输入?【英文标题】:How to fully hide password input in Flutter? 【发布时间】:2019-12-13 00:10:23 【问题描述】:我正在使用 Flutter web 制作登录表单。我希望我的第二个TextField
(我的密码)隐藏用户输入。我已经将obscureText
属性设置为true
。
我不想显示“f”。 有可能吗?
【问题讨论】:
【参考方案1】:没有简单的方法可以做到这一点; 所以必须使用控制器和 StatefulWidget 将输入的值转换为“*”
class Testas extends StatefulWidget
@override
_TestasState createState() => _TestasState();
class _TestasState extends State<Testas>
String _valueToShow = "";
String _value = "";
@override
Widget build(BuildContext context)
return Scaffold(
body: Container(
child: TextField(
controller: TextEditingController.fromValue(TextEditingValue(text: _valueToShow, selection: new TextSelection.collapsed(offset: _valueToShow.length))),
onChanged: (String val)
String value = "";
if(val.length > _value.length)
value+=val.substring(_value.length, val.length);
if(val.length < _value.length)
value = _value.substring(1, val.length);
String valueToShow = "*" * val.length;
setState(()
_valueToShow = valueToShow;
_value = value;
);
,
),
),
);
【讨论】:
以上是关于如何在 Flutter 中完全隐藏密码输入?的主要内容,如果未能解决你的问题,请参考以下文章
[译]TextField/TextFormField 如何显示/隐藏密码
如何在flutter中添加密码输入类型使密码用户输入不可见,就像Android Native EditText的inputtype:密码一样?