Create a button with rounded border
FlutterFlutter Problem Overview
How would you make a FlatButton
into a button with a rounded border? I have the rounded border shape using RoundedRectangleBorder
but somehow need to color the border.
new FlatButton(
child: new Text("Button text),
onPressed: null,
shape: new RoundedRectangleBorder(borderRadius: new BorderRadius.circular(30.0))
)
Flutter Solutions
Solution 1 - Flutter
Use OutlinedButton
instead of FlatButton
.
OutlinedButton(
onPressed: null,
style: ButtonStyle(
shape: MaterialStateProperty.all(RoundedRectangleBorder(borderRadius: BorderRadius.circular(30.0))),
),
child: const Text("Button text"),
);
Solution 2 - Flutter
FlatButton(
onPressed: null,
child: Text('Button', style: TextStyle(
color: Colors.blue
)
),
textColor: MyColor.white,
shape: RoundedRectangleBorder(side: BorderSide(
color: Colors.blue,
width: 1,
style: BorderStyle.solid
), borderRadius: BorderRadius.circular(50)),
)
Solution 3 - Flutter
Use StadiumBorder
shape
OutlineButton( onPressed: () {}, child: Text("Follow"), borderSide: BorderSide(color: Colors.blue), shape: StadiumBorder(), )
Solution 4 - Flutter
new OutlineButton(
child: new Text("blue outline") ,
borderSide: BorderSide(color: Colors.blue),
),
// this property adds outline border color
Solution 5 - Flutter
So I did mine with the full styling and border colors like this:
new OutlineButton(
shape: StadiumBorder(),
textColor: Colors.blue,
child: Text('Button Text'),
borderSide: BorderSide(
color: Colors.blue, style: BorderStyle.solid,
width: 1),
onPressed: () {},
)
Solution 6 - Flutter
For implementing the rounded border button with a border color use this
OutlineButton(
child: new Text("Button Text"),borderSide: BorderSide(color: Colors.blue),
onPressed: null,
shape: new RoundedRectangleBorder(borderRadius: new BorderRadius.circular(20.0))
),
Solution 7 - Flutter
If you don't want to use OutlineButton
and want to stick to normal RaisedButton
, you can wrap your button in ClipRRect
or ClipOval
like:
ClipRRect(
borderRadius: BorderRadius.circular(40),
child: RaisedButton(
child: Text("Button"),
onPressed: () {},
),
),