希望在flutter中创建一个基于CupertioButton
的自定义按钮。
最终结果应该是这样的:
MainCustomButton.success(label: 'ok', onPressed: (){});
MainCustomButton.danger(label: 'delete', onPressed: (){});
每个“克隆”都应用了它的自定义样式。
这是我一直在折腾的代码,但我不能走得更远:
class MainCustomButton extends StatefulWidget {
MainCustomButton.success({
Key? key,
}) : super(key: key);
MainCustomButton.danger({
Key? key,
}) : super(key: key);
@override
State<MainCustomButton> createState() => _MainCustomButtonState();
}
class _MainCustomButtonState extends State<MainCustomButton> {
@override
Widget build(BuildContext context) {
return CupertinoButton(child: Text('click me'), onPressed: () {});
}
}
2条答案
按热度按时间pxy2qtax1#
你不需要为1
StatefulWidget
创建2个构造函数,你可以创建一个类,然后创建静态函数,这样就可以返回一个小部件。示例:
rqqzpn5f2#
正确的方法是使用自定义构造函数:
最后的结果是: