import 'package:flutter/material.dart'; class RoundButton extends StatelessWidget { final String text; final String img; final Widget icons; final Color textColor; final Color backgroup; final double fontSize; final double radius; final double height; final double width; final FontWeight fontWeight; final EdgeInsetsGeometry padding; final GestureTapCallback callback; RoundButton( {Key key, this.text, this.textColor = Colors.black, this.fontSize = 10, this.backgroup = Colors.white, this.radius = 2, this.img, this.height, this.width, this.icons, this.padding, this.fontWeight = FontWeight.normal, this.callback,}); @override Widget build(BuildContext context) { return GestureDetector(child: Container( padding: padding, width: width, height: height, alignment: Alignment.center, decoration: BoxDecoration( color: backgroup, borderRadius: BorderRadius.all(Radius.circular(radius))), child: buildText(), ),onTap: this.callback); } Widget buildText() { Widget textWidget = Text( text, style: TextStyle( color: textColor, fontSize: fontSize, fontWeight: fontWeight, ), ); if (icons != null) { return Row( mainAxisSize: MainAxisSize.min, children: [ icons, SizedBox( width: 4, ), textWidget, ], ); } else if (img != null && img != "") { return Row( children: [ Image.asset( img, width: 12, height: 12, ), SizedBox( width: 4, ), textWidget, ], ); } else { return textWidget; } } }