|
|
@@ -0,0 +1,54 @@
|
|
|
+
|
|
|
+import 'package:flutter/material.dart';
|
|
|
+
|
|
|
+
|
|
|
+class ImageButton extends StatelessWidget {
|
|
|
+ final Size buttonSize;
|
|
|
+ final String image;
|
|
|
+ final Size imageSize;
|
|
|
+ final Color bgColor;
|
|
|
+ final double borderRadius;
|
|
|
+ final Color borderColor;
|
|
|
+ final double borderWidth;
|
|
|
+ final VoidCallback onTap;
|
|
|
+
|
|
|
+ ImageButton({
|
|
|
+ required Size buttonSize,
|
|
|
+ required this.image,
|
|
|
+ Size? imageSize,
|
|
|
+ Color bgColor = Colors.white,
|
|
|
+ this.borderRadius = 5,
|
|
|
+ Color? borderColor,
|
|
|
+ this.borderWidth = 1,
|
|
|
+ required this.onTap,
|
|
|
+ })
|
|
|
+ : buttonSize = buttonSize,
|
|
|
+ imageSize = imageSize ?? buttonSize,
|
|
|
+ bgColor = bgColor,
|
|
|
+ borderColor = borderColor ?? bgColor
|
|
|
+ ;
|
|
|
+
|
|
|
+ @override
|
|
|
+ Widget build(BuildContext context) {
|
|
|
+ return GestureDetector(
|
|
|
+ onTap: onTap,
|
|
|
+ child: Container(
|
|
|
+ width: buttonSize.width,
|
|
|
+ height: buttonSize.height,
|
|
|
+ decoration: BoxDecoration(
|
|
|
+ color: bgColor,
|
|
|
+ shape: BoxShape.rectangle,
|
|
|
+ borderRadius: BorderRadius.all(Radius.circular(borderRadius)),
|
|
|
+ border: Border.all(color: borderColor),
|
|
|
+ ),
|
|
|
+ child: Center(
|
|
|
+ child: Image.asset(
|
|
|
+ image,
|
|
|
+ width: imageSize.width,
|
|
|
+ height: imageSize.height,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ );
|
|
|
+ }
|
|
|
+}
|