Flutter 赋予父容器较小的宽度后,OutlineButton中的图标未居中
以前,我的构造如下所示:Flutter 赋予父容器较小的宽度后,OutlineButton中的图标未居中,flutter,Flutter,以前,我的构造如下所示: Container( child: OutlineButton( child: Icon(this.iconData), ), padding: EdgeInsets.only( left: 2, right: 2, ), ) 这就产生了如下三个图标按钮: 但是我想让它们小一点,所以我在容器()中添加了宽度: 容器( 宽度:50,//好的,也许你应该使用扁平按钮。我为你制作了圆形边框,只需编辑一些颜色:) 您可以尝试使用带有图
Container(
child: OutlineButton(
child: Icon(this.iconData),
),
padding: EdgeInsets.only(
left: 2,
right: 2,
),
)
这就产生了如下三个图标按钮:
但是我想让它们小一点,所以我在容器()中添加了宽度
:
容器(
宽度:50,//好的,也许你应该使用扁平按钮。我为你制作了圆形边框,只需编辑一些颜色:)
您可以尝试使用带有图标的Center()小部件。好的,也许您应该使用FlatButton。我为您制作了圆形边框,只需编辑一些颜色:)
您可以尝试使用带有图标的Center()小部件。这对您有用吗
您可以使用填充更改大小
class NewButton extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.black,
body: Center(
child: GestureDetector(
onTap: (){
},
child: Container(
padding: EdgeInsets.all(5),
child: Icon(
Icons.add,
color: Colors.white
),
decoration: BoxDecoration(
border: Border.all(color: Colors.orange, width: 1, style: BorderStyle.solid),
borderRadius: BorderRadius.circular(4)
),
),
),
),
);
}
}
这对你有用吗
您可以使用填充更改大小
class NewButton extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.black,
body: Center(
child: GestureDetector(
onTap: (){
},
child: Container(
padding: EdgeInsets.all(5),
child: Icon(
Icons.add,
color: Colors.white
),
decoration: BoxDecoration(
border: Border.all(color: Colors.orange, width: 1, style: BorderStyle.solid),
borderRadius: BorderRadius.circular(4)
),
),
),
),
);
}
}
容器(
alignment:alignment.center,//使用alignment将子窗口小部件放置在任意位置。
宽度:50,//
容器(
alignment:alignment.center,//使用alignment将子窗口小部件放置在任意位置。
宽度:50,//谢谢你的提问。我一直在用FlatButton制作大纲按钮:)我发现outline按钮也有padding属性。如果你将它设置为零,那么你就会得到你想要的。基本上outline按钮默认设置了一些填充,对于你选择的大小来说太大了,所以图标被推到了一边。如果你使用Android Studio,那么你可以很容易地看到,如果你去Flatter IInspector=>显示调试画图。我希望这就是您要找的
Container(
width: 50, // <-- your new line
child: OutlineButton(
padding: EdgeInsets.zero, //<-- this is added
child: Icon(Icons.person),
),
padding: EdgeInsets.only(
left: 2,
right: 2,
),
),
容器(
宽度:50,//谢谢你的提问。我一直在用FlatButton制作大纲按钮:)我发现outline按钮也有padding属性。如果你将它设置为零,那么你就会得到你想要的。基本上outline按钮默认设置了一些填充,对于你选择的大小来说太大了,所以图标被推到了一边。如果你使用Android Studio,那么你可以很容易地看到,如果你去Flatter IInspector=>显示调试画图。我希望这就是您要找的
Container(
width: 50, // <-- your new line
child: OutlineButton(
padding: EdgeInsets.zero, //<-- this is added
child: Icon(Icons.person),
),
padding: EdgeInsets.only(
left: 2,
right: 2,
),
),
容器(
宽度:50,//你必须强制使用OutlineButton吗?@JosteveAdekanbi不,绝对不能。但是没有找到其他短方法来实现这样的按钮(图标和圆形边框).Container widget中有一个名为alignment的构造器widget。alignment:alignment.center
。您必须使用OutlineButton吗?@JosteveAdekanbi不,绝对不需要。但没有找到其他短方法来实现此按钮(图标和圆形边框)。容器小部件中有一个名为对齐的构造函数小部件。对齐:对齐。居中
。我没有看到按钮,我应该在哪里添加OnPress方法?我的错,我已经编辑了它…我将容器包装在一个手势检测器中,使您能够使用与onPressed相同的onTap。我没有看到按钮,我应该在哪里添加OnPress方法sed方法?我的错,我已经编辑了它…我将容器包装在一个手势检测器中,使您能够使用与OnPressed相同的onTap。幸运的是,这在我的案例中不起作用,原因如下:(您对容器的填充行进行了注释。它应该起作用。是的,但我需要它;)不幸的是,这在我的案例中不起作用,原因如下:(你们评论过集装箱的填充线了吗?应该可以。是的,但我需要这个;)宽度在哪里?如果我只是替换OutlineButton并用父容器调整宽度,不幸的是,结果在我的情况下是相同的。宽度在哪里?如果我只是替换OutlineButton并用父容器调整宽度,不幸的是,结果在我的情况下是相同的。这是迄今为止唯一可行的想法!T谢谢!这是目前为止唯一可行的想法!谢谢!
Container(
width: 50, // <-- your new line
child: OutlineButton(
padding: EdgeInsets.zero, //<-- this is added
child: Icon(Icons.person),
),
padding: EdgeInsets.only(
left: 2,
right: 2,
),
),