1

我正在使用pin_code_text_field包来创建 pin 码文本字段。但是当我更新用于模糊文本的布尔值时。在我单击文本字段之前,布尔值不会在 pin 代码字段中更新。

代码添加如下:

bool pinWasObscured = true;


Row(
     children: [
        PinCodeTextField(
        maxLength: 4,
        hideCharacter: pinWasObscured,
        highlight: true,
        highlightAnimation: true,
        highlightAnimationBeginColor: Colors.black,
        highlightAnimationEndColor: Colors.white,
        highlightAnimationDuration: Duration(seconds: 5),
        highlightColor: Color(0xFFF37021),
        pinBoxDecoration: ProvidedPinBoxDecoration.underlinedPinBoxDecoration,
        maskCharacter: "*",
        pinTextStyle: TextStyle(
                              fontSize: 15.sp,
                              fontWeight: FontWeight.bold,
                            ),
        pinBoxWidth: SizeConfig.blockSizeHorizontal! * 12,
        pinBoxHeight: SizeConfig.blockSizeHorizontal! * 10,
        autofocus: false,
        controller: pinController,
        defaultBorderColor: Colors.black26,
       ),
        SizedBox(width: 10),
        IconButton(
         icon: pinWasObscured
                ? Icon(Icons.visibility_off_outlined)
                : Icon(Icons.visibility_outlined),
          onPressed: () {
                  setState(() {
                        pinWasObscured = !pinWasObscured;
                              });
                            },
                          ),
                        ],
                      ),
  

                
4

1 回答 1

-1

问题是您还在单击项目时更新“ hideCharacter ”的值。您不必每次都更新hideCharacter值。相反,如果要隐藏字符,则必须将值设置为 true 并显示 false。

于 2021-08-05T17:39:42.923 回答