Android 如何在输入值时动态更改文本字段的宽度
我想动态更改文本字段的宽度,以适应输入值时的所有输入文本。 这就是我尝试过的Android 如何在输入值时动态更改文本字段的宽度,android,flutter,textfield,Android,Flutter,Textfield,我想动态更改文本字段的宽度,以适应输入值时的所有输入文本。 这就是我尝试过的 var valueIncreaser = 30; var textfieldSpanValue = 50.0; Container( width: textfieldSpanValue, child: TextFormField( onChanged: (text) { setState(() {
var valueIncreaser = 30;
var textfieldSpanValue = 50.0;
Container(
width: textfieldSpanValue,
child: TextFormField(
onChanged: (text) {
setState(() {
textfieldSpanValue = 20;
textfieldSpanValue = valueIncreaser + textfieldSpanValue * textfieldSpanValue;
});
},
controller: myController,
maxLength: 10,
maxLengthEnforced: true,
keyboardType: TextInputType.number,
inputFormatters: <TextInputFormatter>[
WhitelistingTextInputFormatter.digitsOnly
],
),
)
var值递增器=30;
var textfieldSpanValue=50.0;
容器(
宽度:textfieldSpanValue,
子项:TextFormField(
一旦更改:(文本){
设置状态(){
textfieldSpanValue=20;
textfieldSpanValue=valueIncreaser+textfieldSpanValue*textfieldSpanValue;
});
},
控制器:myController,
最大长度:10,
马克斯:是的,
键盘类型:TextInputType.number,
输入格式化程序:[
WhiteListingPutFormatter.digitsOnly
],
),
)
我想要像这样的东西。
看起来您的代码中有一些简单的逻辑错误。您只需将宽度增量逻辑设置为: textfieldSpanValue=valueIncreaser+textfieldSpanValue*text.length
var valueIncreaser = 30;
var textfieldSpanValue = 50.0;
Container(
width: textfieldSpanValue,
child: TextFormField(
onChanged: (text) {
setState(() {
textfieldSpanValue = 20;
textfieldSpanValue =
valueIncreaser + textfieldSpanValue * text.length;
});
},
controller: myController,
maxLength: 10,
maxLengthEnforced: true,
keyboardType: TextInputType.number,
inputFormatters: <TextInputFormatter>[
WhitelistingTextInputFormatter.digitsOnly
],
),
)
var值递增器=30;
var textfieldSpanValue=50.0;
容器(
宽度:textfieldSpanValue,
子项:TextFormField(
一旦更改:(文本){
设置状态(){
textfieldSpanValue=20;
textfieldSpanValue=
valueIncreaser+textfieldSpanValue*text.length;
});
},
控制器:myController,
最大长度:10,
马克斯:是的,
键盘类型:TextInputType.number,
输入格式化程序:[
WhiteListingPutFormatter.digitsOnly
],
),
)