Flutter - 如何获取和存储可调节平面按钮的宽度
Posted
技术标签:
【中文标题】Flutter - 如何获取和存储可调节平面按钮的宽度【英文标题】:Flutter - How to get and store the width of an adjustable flat button 【发布时间】:2020-04-24 19:53:43 【问题描述】:我需要在创建标准平面按钮后获取并存储它的宽度,我该怎么做?
double _width; //store here the flatbutton's width created below
Widget _flatButtonStoreWidth (String text)
return FlatButton(
child: Text(text),
onPressed: () ,
);
【问题讨论】:
【参考方案1】:您可以使用LayoutBuilder
小部件,这是来自https://***.com/a/41558369/4465386 的演示。
return FlatButton(
child: new LayoutBuilder(
builder: (BuildContext context, BoxConstraints constraints)
setState(() => _width = constraints.maxWidth);
return new Text('this is a button');
),
);
【讨论】:
我不想设置它的宽度,我想在创建平面按钮后获取它的宽度。谢谢! :) 我在一个干净的 Flutter 项目中实现了它来测试它,只使用了 Scaffold 和 Center Widget,它抛出了这个异常:在构建 LayoutBuilder 时抛出了以下断言:setState() 或 markNeedsBuild()在构建期间调用。此 MyHomePage 小部件无法标记为需要构建,因为框架已经在构建小部件的过程中。只有在其祖先之一当前正在构建时,小部件才能在构建阶段标记为需要构建。以上是关于Flutter - 如何获取和存储可调节平面按钮的宽度的主要内容,如果未能解决你的问题,请参考以下文章
如何在C#里面描绘图片中那种波形?还有如何添加圆形可调节控件呢?
如何在 Flutter 中禁用 FlatButton 的飞溅突出显示?
如何在 Flutter 中从内部和外部存储中获取所有 mp3 文件?