Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.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 颤振-如何获取和存储可调扁平按钮的宽度_Flutter - Fatal编程技术网

Flutter 颤振-如何获取和存储可调扁平按钮的宽度

Flutter 颤振-如何获取和存储可调扁平按钮的宽度,flutter,Flutter,我需要获得并存储一个标准平面按钮的宽度,一旦它被创建,我怎么做 double _width; //store here the flatbutton's width created below Widget _flatButtonStoreWidth (String text){ return FlatButton( child: Text(text), onPressed: () {}, ); } 您可以使用LayoutBuilder小部件,下面是来自的演示 我不

我需要获得并存储一个标准平面按钮的宽度,一旦它被创建,我怎么做

double _width; //store here the flatbutton's width created below

Widget _flatButtonStoreWidth (String text){

  return FlatButton(
    child: Text(text),
    onPressed: () {},
  );
}

您可以使用
LayoutBuilder
小部件,下面是来自的演示


我不想设置它的宽度,我想在创建平面按钮后获得它的宽度。谢谢!:)我在Flatter的一个干净项目中实现了这个功能,以测试它,只使用了一个Scaffold和Center小部件,它发现了这个异常:在构建LayoutBuilder时抛出了以下断言:setState()或在构建期间调用的markNeedsBuild()。无法将此MyHomePage小部件标记为需要构建,因为框架已在构建小部件的过程中。只有当一个小部件的祖先当前正在构建时,才可以将其标记为需要在构建阶段构建。
return FlatButton(
  child: new LayoutBuilder(
    builder: (BuildContext context, BoxConstraints constraints) {
      setState(() => _width = constraints.maxWidth);
        return new Text('this is a button');
    }
  ),
);