LinearButton.dart 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import 'package:flutter/material.dart';
  2. typedef void OnTapHomeMenu();
  3. class LinearButton extends StatelessWidget {
  4. final String btntext;
  5. final OnTapHomeMenu onTapHomeMenu;
  6. final List<Color> colorList;
  7. final num btnHeight;
  8. final Widget childWidget;
  9. final Color textColor;
  10. LinearButton(
  11. {this.btntext = '',
  12. this.onTapHomeMenu,
  13. this.colorList = const [Color(0xFFFFC30F), Color(0xFFFFA54C)],
  14. this.btnHeight = 48.0,
  15. this.childWidget,
  16. this.textColor= Colors.white});
  17. @override
  18. Widget build(BuildContext context) {
  19. return Container(
  20. height: btnHeight,
  21. decoration: BoxDecoration(
  22. gradient: LinearGradient(
  23. begin: Alignment.topCenter,
  24. end: Alignment.bottomCenter,
  25. colors: colorList)),
  26. child: Material(
  27. color: Colors.transparent,
  28. child: InkWell(
  29. onTap: onTapHomeMenu,
  30. child: childWidget != null
  31. ? childWidget
  32. : Center(
  33. child: Text(
  34. btntext,
  35. style: TextStyle(
  36. fontSize: 16,
  37. fontWeight: FontWeight.w500,
  38. color: textColor),
  39. )),
  40. ),
  41. ),
  42. );
  43. }
  44. }