import 'package:flutter/material.dart'; class GSYFlexButton extends StatelessWidget { final String? text; final Color? color; final Color textColor; final VoidCallback? onPress; final double fontSize; final int maxLines; final MainAxisAlignment mainAxisAlignment; GSYFlexButton( {Key? super.key, this.text, this.color, this.textColor = Colors.black, this.onPress, this.fontSize = 20.0, this.mainAxisAlignment = MainAxisAlignment.center, this.maxLines = 1}); @override Widget build(BuildContext context) { return ElevatedButton( style: ButtonStyle( backgroundColor: MaterialStateProperty.all(color), shape: MaterialStateProperty.all( RoundedRectangleBorder( borderRadius: BorderRadius.circular( 25))), padding: MaterialStateProperty.all( const EdgeInsets.only( left: 20.0, top: 10.0, right: 20.0, bottom: 10.0))), child: Flex( mainAxisAlignment: mainAxisAlignment, direction: Axis.horizontal, children: [ Expanded( child: Text(text!, style: TextStyle( color: textColor, fontSize: fontSize, height: 1,fontWeight: FontWeight.bold,letterSpacing:2), textAlign: TextAlign.center, maxLines: maxLines, overflow: TextOverflow.ellipsis), ) ], ), onPressed: () { this.onPress?.call(); }); } }