可以通过TextFormField的obscureText属性控制密码输入的隐藏/显示,示例代码如下:@override
void initState() {
passwordVisible = false; //设置初始状态
}
//以下字段设置TextFormField(
keyboardType: TextInputType.text,
controller: _userPasswordController,
obscureText: passwordVisible,//This will obscure text dynamically
decoration: InputDecoration(
labelText: '密码',
hintText: '请输入密码',
//下面是重点
suffixIcon: IconButton(
icon: Icon(
//根据passwordVisible状态显示不同的图标
passwordVisible ? Icons.visibility : Icons.visibility_off,
color: Theme.of(context).primaryColorDark,
),
onPressed: () {
//更新状态控制密码显示或隐藏
setState(() {
passwordVisible = !passwordVisible;
});
},
),
),
);