我连续有两个FlatButton。该行是一列,而该列又位于用于填充屏幕的容器中。该容器的填充为right:20
和left:20
。我希望按钮从左到右20英寸,从右边到20英寸,以使列中的所有内容保持对齐。我知道FlatButton
小部件具有默认填充,并且我已经尝试了此question中的解决方案,将按钮更改为GestureDectectors
小部件可以对齐,但是并没有很好的用户体验,单击的区域可能太小。理想情况下,我想根据哪个按钮在左侧/右侧移除FlatButton
的填充。这是我的代码
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
FlatButton(
child: new Text('SIGN IN',
style: Theme.of(context).textTheme.body1),
onPressed: () {
Navigator.push(
context, SignInPage(widget.onSignedIn));
},
),
new FlatButton(
child: new Text(
'SIGN UP',
style: Theme.of(context).textTheme.body1,
),
onPressed: () {
Navigator.push(
context, SignUpPage(widget.onSignedIn));
},
),
]),
答案 0 :(得分:2)
现在已弃用 TextButton 的 FlatButton
TextButton(
style: TextButton.styleFrom(padding: EdgeInsets.all(0)),
...
)
答案 1 :(得分:0)
尝试使用选项'padding:EdgeInsets.only(取决于您要填充哪一侧)'
public function users(){
return $this->hasMany('App\User');
}
答案 2 :(得分:0)
例如使用零填充
padding: EdgeInsets.zero,
答案 3 :(得分:0)
SizedBox(
height: 25,
child: ElevatedButton(
onPressed: onPressed,
style: ElevatedButton.styleFrom(
padding: EdgeInsets.zero,
shape: RoundedRectangleBorder(
borderRadius:
BorderRadius.circular(kDefaultPadding))),
child: const Text("More"),
)
)
答案 4 :(得分:0)
FlatButton
现已弃用,您可以使用 TextButton
。
即使您将 padding 设置为 0,仍然有一些 padding 剩余。要完全删除它,您可以按照@Arshak here 的建议使用 RawMaterialButton
。
示例:
RawMaterialButton(
constraints: BoxConstraints(),
padding: EdgeInsets.all(5.0), // optional, in order to add additional space around text if needed
child: Text('Button Text')
)
我知道答案就在那里,但我花了几个小时才做到这一点。所以我想把它也添加为答案。