You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
PatientApp-KKUMC/lib/widgets/buttons/borderedButton.dart

60 lines
1.8 KiB
Dart

import 'package:diplomaticquarterapp/config/size_config.dart';
import 'package:flutter/material.dart';
class BorderedButton extends StatelessWidget {
final String text;
final Function handler;
final Color color;
final bool hasBorder;
final Color borderColor;
final Color backgroundColor;
final double vPadding;
final double hPadding;
BorderedButton(
this.text, {
this.handler,
this.color,
this.hasBorder = false,
this.borderColor,
this.backgroundColor,
this.vPadding = 0,
this.hPadding = 0,
});
@override
Widget build(BuildContext context) {
return Container(
padding: EdgeInsets.symmetric(horizontal: 4, vertical: 4),
child: ButtonTheme(
//adds padding inside the button
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
//limits the touch area to the button area
minWidth: 0,
//wraps child's width
height: 0,
//wraps child's height
child: RaisedButton(
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
padding: EdgeInsets.symmetric(horizontal: 12, vertical: vPadding),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(4.0),
side: BorderSide(color: hasBorder ? borderColor : Colors.white, width: 0.8),),
color: backgroundColor ?? Colors.white,
textColor: color ?? Color(0xffc4aa54),
disabledTextColor: color ?? Colors.black,
disabledColor: backgroundColor ?? Colors.white,
onPressed: handler,
child: Text(
text,
textAlign: TextAlign.center,
style: TextStyle(
fontSize: SizeConfig.textMultiplier * 1.6,
fontWeight: FontWeight.normal),
),
), //your original button
),
);
}
}