问题描述
谁能告诉我为什么我的代码没有将边框设为蓝色,并让它的宽度为 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,
谢谢!
解决方法
只需将您的 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,)
,
像这样,在孩子中你可以编写你的小部件
轮廓按钮( 样式: OutlinedButton.styleFrom( 侧面:BorderSide(颜色:Colors.teal), ),onPressed: () {},孩子:空, ),