Flutter 灵活的不工作在切换按钮小部件颤振
我有一个要求,其中有两个按钮需要切换一个是动态文本,另一个只是一个带有文本和图标的按钮。 我想要的是给按钮1分配70%的空间,给按钮2分配30%的空间。如果文本大小增加,则文本应在下方换行,而不是在水平空间中增加 在切换按钮中,Flexible似乎不起作用,请查看下面的代码Flutter 灵活的不工作在切换按钮小部件颤振,flutter,togglebutton,flutter-widget,Flutter,Togglebutton,Flutter Widget,我有一个要求,其中有两个按钮需要切换一个是动态文本,另一个只是一个带有文本和图标的按钮。 我想要的是给按钮1分配70%的空间,给按钮2分配30%的空间。如果文本大小增加,则文本应在下方换行,而不是在水平空间中增加 在切换按钮中,Flexible似乎不起作用,请查看下面的代码 child: ToggleButtons( children: <Widget>[ Flexible( flex: 2, fi
child: ToggleButtons(
children: <Widget>[
Flexible(
flex: 2,
fit: FlexFit.tight,
child: Container(
margin: EdgeInsets.only(right: 10),
child: TextButton.icon(
style: ButtonStyle(
shape: MaterialStateProperty.all(
BeveledRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(5))),
),
),
label: Text(
cityPicked,
overflow: TextOverflow.clip,
maxLines: 1,
softWrap: false,
),
icon: Icon(
Icons.location_pin,
color: Theme.of(context).accentColor,
size: 24.0,
),
onPressed: () {
toggleFilter(0);
CityPickingDialog()
.showCityPickingDialog(context)
.then((value) {
if (value.isNotEmpty) {
Miscellaneous.logMessage(
Tag, "CityPickingDialog ${value.toString()}");
setState(() {
cityPicked = value.toString();
});
}
});
},
),
),
),
Flexible(
flex: 2,
fit: FlexFit.tight,
child: Container(
margin: EdgeInsets.only(right: 10),
child: TextButton(
onPressed: () {
NearMeDialog(pickDistance: pickDistance)
.showNearMeDialog(context);
toggleFilter(1);
},
style: ButtonStyle(
shape: MaterialStateProperty.all(
BeveledRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(5))),
),
),
child: Text(
StringClass.near_me_txt,
),
),
),
),
],
onPressed: (index) {
toggleFilter(index);
},
isSelected: selectionList,
),
child:切换按钮(
儿童:[
灵活的(
弹性:2,
适合:FlexFit.tight,
子:容器(
页边距:仅限边集(右:10),
孩子:TextButton.icon(
样式:钮扣样式(
形状:MaterialStateProperty.all(
斜面矩形边框(
borderRadius:borderRadius.all(半径.圆形(5)),
),
),
标签:文本(
城市勾选,
溢出:TextOverflow.clip,
maxLines:1,
软包装:错误,
),
图标:图标(
Icons.location\u pin,
颜色:主题。背景。强调颜色,
尺寸:24.0,
),
已按下:(){
切换滤波器(0);
CityPickDialog()
.ShowCityPicking对话框(上下文)
.然后((值){
if(value.isNotEmpty){
杂项日志消息(
标记,“CityPickDialog${value.toString()}”);
设置状态(){
cityPicked=value.toString();
});
}
});
},
),
),
),
灵活的(
弹性:2,
适合:FlexFit.tight,
子:容器(
页边距:仅限边集(右:10),
孩子:文本按钮(
已按下:(){
NearMeDialog(pickDistance:pickDistance)
.showNearMeDialog(上下文);
切换滤波器(1);
},
样式:钮扣样式(
形状:MaterialStateProperty.all(
斜面矩形边框(
borderRadius:borderRadius.all(半径.圆形(5)),
),
),
子:文本(
StringClass.near_me_txt,
),
),
),
),
],
已按下:(索引){
切换过滤器(索引);
},
isSelected:selectionList,
),
您可以删除flexible并将容器宽度用作MediaQuery.of(context).size.width*0.7
的70%和类似的30%,这应该可以完成工作。