gpt4 book ai didi

Flutter 响应式文本字段匹配屏幕尺寸

转载 作者:行者123 更新时间:2023-12-03 08:37:24 25 4
gpt4 key购买 nike

您好,我正在研究 flutter,需要使用 MediaQuery 使我的 TextField 响应,它匹配所有屏幕尺寸。我尝试了两种方法,两种方法都不适用于平板电脑,这是第一种方法

Container(
height: 100.0,
width: 300.0,
child: TextField(
cursorColor: Colors.black,
style: TextStyle(color: Colors.pinkAccent),
controller: itemNameController,
keyboardType: TextInputType.text,
decoration: new InputDecoration(
border: OutlineInputBorder(),
labelText: 'Hello input here',
isDense: true,
contentPadding: EdgeInsets.only(
left: 5, bottom: 11, top: 11, right: 5),
),
),
),

第二种方法是

                           TextField(
cursorColor: Colors.black,
style: TextStyle(color: Colors.pinkAccent, height:
MediaQuery.of(context).size.height/50),
controller: itemNameController,
keyboardType: TextInputType.text,
decoration: new InputDecoration(
border: OutlineInputBorder(),
labelText: 'Hello input here',
isDense: true,
contentPadding: EdgeInsets.only(
left: 5, bottom: 11, top: 11, right: 5),
),
),

它们都没有反射(reflect)在平板电脑上。谢谢

最佳答案

我编写了一个响应式类,可以根据屏幕大小调整大小。我在小部件类中实现这个类,并根据屏幕大小给出一个 int 值。这样,它就会根据每部手机的屏幕尺寸来调整大小。

class SizeConfig{

double heightSize(BuildContext context, double value){
value /= 100;
return MediaQuery.of(context).size.height * value;
}

double widthSize(BuildContext context,double value ){
value /=100;
return MediaQuery.of(context).size.width * value;
}
}

你可以像这样使用它;

Container(
height: sizedConfig().heightSize(context, 2.0)
width: sizedConfig().widthSize(context, 1.5),
child: TextField(
cursorColor: Colors.black,
style: TextStyle(color: Colors.pinkAccent),
controller: itemNameController,
keyboardType: TextInputType.text,
decoration: new InputDecoration(
border: OutlineInputBorder(),
labelText: 'Hello input here',
isDense: true,
contentPadding: EdgeInsets.only(
left: 5, bottom: 11, top: 11, right: 5),
),
),
),

关于Flutter 响应式文本字段匹配屏幕尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63519891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com