Flutter 灵活的不工作在切换按钮小部件颤振

Flutter 灵活的不工作在切换按钮小部件颤振,flutter,togglebutton,flutter-widget,Flutter,Togglebutton,Flutter Widget,我有一个要求,其中有两个按钮需要切换一个是动态文本,另一个只是一个带有文本和图标的按钮。 我想要的是给按钮1分配70%的空间,给按钮2分配30%的空间。如果文本大小增加,则文本应在下方换行,而不是在水平空间中增加 在切换按钮中,Flexible似乎不起作用,请查看下面的代码 child: ToggleButtons( children: <Widget>[ Flexible( flex: 2, fi

我有一个要求,其中有两个按钮需要切换一个是动态文本,另一个只是一个带有文本和图标的按钮。 我想要的是给按钮1分配70%的空间,给按钮2分配30%的空间。如果文本大小增加,则文本应在下方换行,而不是在水平空间中增加

在切换按钮中,Flexible似乎不起作用,请查看下面的代码

 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%,这应该可以完成工作。