谁能告诉我为什么我的代码没有将边框设为蓝色,并让它的宽度为 3.0?
代码:
class CreateRoomButton extends StatelessWidget {
@override
Widget build(BuildContext context) {
return OutlinedButton(
onPressed: () => print('Create Room'),
style: ButtonStyle(
shape: MaterialStateProperty.all<RoundedRectangleBorder>(
RoundedRectangleBorder(
side: BorderSide(
color: Colors.blueAccent[100],
width: 3.0,
),
borderRadius: BorderRadius.circular(30.0),
),
),
),
child: Row(
children: [
ShaderMask(
shaderCallback: (rect) =>
Palette.createRoomGradient.createShader(rect),
child: Icon(
Icons.video_call,
color: Colors.white,
size: 35.0,
),
),
const SizedBox(width: 4.0),
Text(
'Create\nRoom',
style: TextStyle(color: Colors.blueAccent[100]),
),
],
),
);
}
}
此外,我必须在某处添加它(但由于 textColor 在 flutter 2.0 中已贬值,因此我不知道如何处理它...):
textColor: Palette.facebookblue,
谢谢!
答案 0 :(得分:0)
只需将您的 OutlinedButton 更改为:
OutlinedButton(
onPressed: () => print('Create Room'),
style: OutlinedButton.styleFrom(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(30.0),
),
side: BorderSide(width: 3.0, color: Colors.blueAccent[100]),
)
child: yourChildWidget,
)
答案 1 :(得分:0)
像这样,在孩子中你可以编写你的小部件
轮廓按钮( 样式: OutlinedButton.styleFrom( 侧面:BorderSide(颜色:Colors.teal), ), onPressed: () {}, 孩子:空, ),