创建一个按钮,在 flutter 中创建一个小部件
Create a button which creates a widget in flutter
我想定义一个函数或类似的东西来在我按下按钮时制作一个新的小部件,
另外,我想在特定列中创建该小部件。
有人可以帮忙吗?
好吧,你基本上可以在你的小部件中使用不可见和可见字段,即小部件已经制作完成,你可以稍后为其分配一个功能..例如,当按下按钮时,小部件变为可见,你传递一个函数或它的价值。
您可以定义 bool 变量来控制显示或隐藏该小部件,并在按钮 onPressed 方法中更改 setState 中的该变量。
类似这样的代码:
var _showWidget = false;
void changeShow(){
setState(() {
_showWidget = !_showWidget;
});
}
@override
Widget build(BuildContext context) {
return SafeArea(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
RaisedButton(
child: _showWidget? Text('Show'): Text('Hide'),
onPressed: changeShow
),
if (_showWidget)
Container(
width: 150,
height: 50,
color: Colors.green,
child: Center(child: Text('Hello Word')),
),
],
),
);
}
我想定义一个函数或类似的东西来在我按下按钮时制作一个新的小部件, 另外,我想在特定列中创建该小部件。 有人可以帮忙吗?
好吧,你基本上可以在你的小部件中使用不可见和可见字段,即小部件已经制作完成,你可以稍后为其分配一个功能..例如,当按下按钮时,小部件变为可见,你传递一个函数或它的价值。
您可以定义 bool 变量来控制显示或隐藏该小部件,并在按钮 onPressed 方法中更改 setState 中的该变量。
类似这样的代码:
var _showWidget = false;
void changeShow(){
setState(() {
_showWidget = !_showWidget;
});
}
@override
Widget build(BuildContext context) {
return SafeArea(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
RaisedButton(
child: _showWidget? Text('Show'): Text('Hide'),
onPressed: changeShow
),
if (_showWidget)
Container(
width: 150,
height: 50,
color: Colors.green,
child: Center(child: Text('Hello Word')),
),
],
),
);
}