Flutter Row布局问题:容器内文本居左按钮居右实现求助
实现Container内文本居左、按钮居右的布局
你只需要调整Row的mainAxisAlignment属性,并修正代码里的语法错误即可实现需求:
- 将
mainAxisAlignment: MainAxisAlignment.center改为mainAxisAlignment: MainAxisAlignment.spaceBetween,这个属性会让Row内的子元素分别占据左右两端的空间 - 修正原代码中Container的括号闭合错误(原代码里Container的
)写在了child之前,导致语法错误)
修正后的完整代码如下:
Container( width: double.infinity, margin: const EdgeInsets.all(10), padding: const EdgeInsets.all(8.0), child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Text('TEXT'), IconButton( onPressed: () {}, icon: Icon( Icons.price_change_outlined, color: Colors.blue, ) ) ], ), )
另外,如果需要在文本和按钮之间保留一点间距,也可以在两者之间添加一个Spacer()组件,效果和spaceBetween类似:
Container( width: double.infinity, margin: const EdgeInsets.all(10), padding: const EdgeInsets.all(8.0), child: Row( children: [ Text('TEXT'), Spacer(), // 占据中间剩余空间,将按钮挤到右侧 IconButton( onPressed: () {}, icon: Icon( Icons.price_change_outlined, color: Colors.blue, ) ) ], ), )
内容的提问来源于stack exchange,提问作者imane imane
相关产品推荐
相关产品推荐

