import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; import 'package:zhiying_base_widget/widgets/public/custom_button/custom_button_model.dart'; import 'package:zhiying_comm/zhiying_comm.dart'; class CustomButton extends StatelessWidget { final CustomButtonModel style; final VoidCallback onClick; const CustomButton(this.style, {Key key, this.onClick}) : super(key: key); @override Widget build(BuildContext context) { var decoration = BoxDecoration( color: HexColor.fromHex(style.bgColor ?? ''), borderRadius: BorderRadius.circular(50)); if (style.bgType == 'image') { decoration = BoxDecoration( image: DecorationImage( image: CachedNetworkImageProvider(style.bgImage ?? ''), fit: BoxFit.cover), borderRadius: BorderRadius.circular(50)); } return GestureDetector( child: Container( width: double.infinity, height: double.infinity, decoration: decoration, child: Center( child: Row( crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center, children: [ style.smallIcon == null || style.smallIcon == '' ? Container() : Container( width: 14, height: 14, margin: EdgeInsets.only(right: 4), child: CachedNetworkImage( imageUrl: style.smallIcon, fit: BoxFit.cover, ), ), Text( style.name, style: TextStyle( color: HexColor.fromHex(style.textColor ?? ''), fontSize: 14, ), ) ], ), ), ), onTap: onClick, ); } }