You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

89 lines
1.8 KiB

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.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;
}
}
}