Button 连续定制颤振按钮

Button 连续定制颤振按钮,button,flutter,custom-button,Button,Flutter,Custom Button,我想做一个按钮,看起来像上面的图片与颤振。 但是我不知道怎么做。。。请帮帮我 要制作一个类似的复合按钮您应该使用一个堆栈小部件,您可以看到两个侧面按钮是相同的,因此它们是一行中具有边界半径的相同按钮。中间按钮的设计可以通过将按钮边框剪裁为其宽度的一半来完成。要制作类似的复合按钮应使用堆栈小部件,您可以看到两个侧面按钮相同,因此它们是一行中具有边界半径的相同按钮。中间按钮的设计可以通过将按钮边框剪裁为其宽度的一半来完成,然后将其布置在行的中间。您可以使用带有透明背景的资产图像的图标按钮 IconB

我想做一个按钮,看起来像上面的图片与颤振。
但是我不知道怎么做。。。请帮帮我

要制作一个类似的复合
按钮
您应该使用一个
堆栈
小部件,您可以看到两个侧面按钮是相同的,因此它们是一行中具有
边界半径的相同按钮。中间按钮的设计可以通过将按钮边框剪裁为其宽度的一半来完成。

要制作类似的复合
按钮
应使用
堆栈
小部件,您可以看到两个侧面按钮相同,因此它们是一行中具有
边界半径的相同按钮。中间按钮的设计可以通过将按钮边框剪裁为其
宽度的一半来完成,然后将其布置在行的中间。

您可以使用带有透明背景的资产图像的
图标按钮

IconButton(
     icon: Image.asset('assets/your/transperantBG/icon.png'),
    onPressed: (){},
)

您可以将
图标按钮
与包含透明背景的资产图像一起使用

IconButton(
     icon: Image.asset('assets/your/transperantBG/icon.png'),
    onPressed: (){},
)
Widget\u开始按钮(BuildContext){
返回容器(
边距:仅限常量边集(顶部:250.0),
子:堆栈(
儿童:[
居中(
孩子:排(
mainAxisAlignment:mainAxisAlignment.space,
儿童:[
_buildSideButtons(上下文、Icons.settings、palete.limellow、,
仅限常数边集(右:30.0)),
_buildSideButtons(上下文、图标、灯泡),
palette.limeGreen,仅限常数边集(左:30.0)),
],
),
),
居中(
子:容器(
宽度:MediaQuery.of(context).size.width*0.35,
高度:MediaQuery.of(context).size.height,
孩子:装饰盒(
装饰:盒子装饰(
形状:BoxShape.circle,
梯度:线性梯度(
开始:Alignment.centerLeft,
结束:对齐。中间右侧,
颜色:[palete.limellow,palete.limeGreen]),
))),
居中(
子:容器(
宽度:MediaQuery.of(context).size.width*0.275,
高度:MediaQuery.of(context).size.height,
孩子:新升起的按钮(
标高:0.0,
颜色:颜色,白色,
儿童:新文本(
“开始”,
样式:TextStyle(
fontFamily:“Bebas Neue”,
字体大小:25.0,
fontWeight:fontWeight.bold),
),
按下:()=>Navigator.push(
上下文
材料路线(
生成器:(BuildContext上下文)=>CountDown()),
形状:CircleBorder())
],
),
);
}
Widget\u buildSideButtons(
BuildContext上下文、IconData图标、颜色封面颜色、边缘设置板、,
{VoidCallback}){
返回容器(
高度:MediaQuery.of(上下文).size.height*0.07,
孩子:升起按钮(
标高:5.0,
按下:(){},
形状:圆形矩形边框(
borderRadius:borderRadius.all(半径.圆形(50.0)),
子:容器(
孩子:填充(
填充物:填充物,
子:图标(图标,颜色:Colors.black),
),
),
颜色:coverColor,
textColor:Colors.white,
),
);
}
我用了堆叠和凸起的按钮,终于成功了!谢谢你的建议。我只需要添加boxShadow,使其接近我上面上传的示例图片

Widget\u开始按钮(构建上下文){
返回容器(
边距:仅限常量边集(顶部:250.0),
子:堆栈(
儿童:[
居中(
孩子:排(
mainAxisAlignment:mainAxisAlignment.space,
儿童:[
_buildSideButtons(上下文、Icons.settings、palete.limellow、,
仅限常数边集(右:30.0)),
_buildSideButtons(上下文、图标、灯泡),
palette.limeGreen,仅限常数边集(左:30.0)),
],
),
),
居中(
子:容器(
宽度:MediaQuery.of(context).size.width*0.35,
高度:MediaQuery.of(context).size.height,
孩子:装饰盒(
装饰:盒子装饰(
形状:BoxShape.circle,
梯度:线性梯度(
开始:Alignment.centerLeft,
结束:对齐。中间右侧,
颜色:[palete.limellow,palete.limeGreen]),
))),
居中(
子:容器(
宽度:MediaQuery.of(context).size.width*0.275,
高度:MediaQuery.of(context).size.height,
孩子:新升起的按钮(
标高:0.0,
颜色:颜色,白色,
儿童:新文本(
“开始”,
样式:TextStyle(
fontFamily:“Bebas Neue”,
字体大小:25.0,
fontWeight:fontWeight.bold),
),
按下:()=>Navigator.push(
上下文
材料路线(