如何在 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 for web

如何在flutter中添加密码输入类型使密码用户输入不可见,就像Android Native EditText的inputtype:密码一样?

[VBA] 如何 隐藏 Excel 主窗口

如何在shell脚本中自动输入密码?

用flutter写一个精美的登录页面