Tty this if you also want to have a full-width button with icon and text:
Padding(
padding: EdgeInsets.all(15),
child: TextButton(
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text('Some Text',
style: TextStyle(
color: Colors.blue,
fontSize: 22,
fontWeight: FontWeight.w700)),
Icon(Icons.arrow_forward),
],
),
style: TextButton.styleFrom(
minimumSize: const Size.fromHeight(50),
iconColor: Colors.blue,
foregroundColor: Colors.blue,
side: BorderSide(color: Colors.blue, width: 2),
shape: const RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(12))),
),
onPressed: () {},
),
),
You can use the below code to make a rounded button with a gradient color.
Container(
width: 130.0,
height: 43.0,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(30.0),
gradient: LinearGradient(
// Where the linear gradient begins and ends
begin: Alignment.topRight,
end: Alignment.bottomLeft,
// Add one stop for each color. Stops should increase from 0 to 1
stops: [0.1, 0.9],
colors: [
// Colors are easy thanks to Flutter's Colors class.
Color(0xff1d83ab),
Color(0xff0cbab8),
],
),
),
child: FlatButton(
child: Text(
'Sign In',
style: TextStyle(
fontSize: 16.0,
fontFamily: 'Righteous',
fontWeight: FontWeight.w600,
),
),
textColor: Colors.white,
color: Colors.transparent,
shape:
RoundedRectangleBorder(borderRadius: BorderRadius.circular(30.0)),
onPressed: () {
},
),
);