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

nai*_*vor 22 passwords flutter

我遇到Flutter的TextInputType没有密码类型的问题:

```

///所有可能的枚举值.

static const List values = const [text,multiline,number,phone,datetime,emailAddress,url,];

```

如何让密码用户输入不可见?谁都有个好主意?

Mau*_*kom 65

如果您正在使用TextField窗口小部件(或从此窗口小部件派生的内容),您可以使用该obscureText属性并将其设置为true.

更多细节可以在这里找到:https://docs.flutter.io/flutter/material/TextField/obscureText.html

  • 另请记住将“自动更正”设置为“false” - 您不希望用户保存密码并通过键盘自动建议 (8认同)
  • 您可以使用“InputDecoration”类的新实例设置“decoration”,并使用确保切换“obscureText”属性的小部件设置“suffixIcon”。这很可能意味着您将必须使用包含“TextField”小部件的有状态小部件,以便您可以跟踪“obscureText”属性的状态。 (4认同)
  • @HasanAYousef`TextFormField(obviousText:true,),` (4认同)
  • 我相信这只是在“StatefulWidget”中切换“obscureText”的问题 (2认同)

Zee*_*ari 33

只需添加obscureText: trueTextFormField

 TextFormField(
   obscureText: true,
   decoration: const InputDecoration(
     labelText: 'Password',
   ),
   validator: (String value) {
     if (value.trim().isEmpty) {
       return 'Password is required';
     }
   },
 ),
Run Code Online (Sandbox Code Playgroud)


jit*_*555 13

只有两个地方可以隐藏密码。

1. 使用 TextFormField

   TextFormField(
                obscureText: true,
                decoration: const InputDecoration(
                  labelText: 'Password',
                ),
              ),
Run Code Online (Sandbox Code Playgroud)

2. 使用文本框

              TextField(
                obscureText: true,
                decoration: const InputDecoration(
                  labelText: 'Password',
                ),
              )
Run Code Online (Sandbox Code Playgroud)


Muh*_*bal 9

使用文本字段

obscuringCharacter: "*",

 TextField(
        obscureText: true,
        onChanged: (){},
        obscuringCharacter: "*",
        decoration: InputDecoration(
            hintText: "Enter password",
            icon: Icon(Icons.lock,color: kPrimaryColor,),
        ),
      ),
Run Code Online (Sandbox Code Playgroud)