这是textFormField
当TextFormField没有值时,它看起来有一个不同的形状,当表单被提交并且用户没有填写textFormField时,它会像这样改变形状
我想textFormfield形状不改变,有什么解决方案吗?
这是我的代码:
Container(
height: Sizes.screenHeight(context) * 0.13,
width: Sizes.screenWidth(context) * 0.01,
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
Container(
height: Sizes.screenHeight(context) * 0.06,
width: Sizes.screenWidth(context) * 0.4,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10),
border: Border.all(color: SporteevColors.black)),
child: Container(
margin: const EdgeInsets.only(left: 8, right: 8),
child: DropdownButtonFormField<String?>(
hint: const Text("Media Social"),
decoration: const InputDecoration(
enabledBorder: InputBorder.none,
focusedBorder: InputBorder.none),
borderRadius: BorderRadius.circular(10),
value: mediaSocial,
items: listMediaSocial,
isExpanded: true,
onChanged: (value) {
setState(() {
mediaSocial = value;
});
},
),
),
),
SizedBox(
// color: Colors.black,
height: Sizes.screenHeight(context) * 0.062,
width: Sizes.screenWidth(context) * 0.4,
child: TextFormField(
keyboardType: mediaSocial == "WhatsApp"
? TextInputType.number
: TextInputType.text,
validator: (value) {
if (value == null || value.isEmpty) {
return 'Please enter id';
}
return null;
},
onSaved: (value) => _data['contact'] = value,
controller: _idSocialMedia,
decoration: InputDecoration(
hintText: 'ID/username/No',
hintStyle:
const TextStyle(color: SporteevColors.grey),
contentPadding: const EdgeInsets.symmetric(
vertical: 20, horizontal: 20),
fillColor: Colors.white.withOpacity(0.9),
filled: true,
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(10),
// borderSide: BorderSide.none,
),
),
),
),
],
),
),
2条答案
按热度按时间ie3xauqp1#
您可以将其封装在SizedBox中,并为它设置固定的高度:
验证码:
daupos2t2#
因为你给了高度,高度会降低,所以不要使用固定大小或使用扩展小部件