Flutter Webを使用してログインフォームに取り組んでいます。2 番目TextField
(パスワード用) にユーザー入力を非表示にします。私はすでにobscureText
プロパティを に設定しましたtrue
。
「f」を表示したくありません。それは可能ですか?
Flutter Webを使用してログインフォームに取り組んでいます。2 番目TextField
(パスワード用) にユーザー入力を非表示にします。私はすでにobscureText
プロパティを に設定しましたtrue
。
「f」を表示したくありません。それは可能ですか?
これを行う簡単な方法はありません。そのため、入力値を「*」に変換するコントローラーと 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;
});
},
),
),
);
}
}