Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 赋予父容器较小的宽度后,OutlineButton中的图标未居中_Flutter - Fatal编程技术网

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,
        ),
      ),