/// Created by @Haoyi on 2020/12/29 /// /// part of 'tips.dart'; class TipsWidget extends StatelessWidget { final double? width; final double? height; final double nipOffset; final Radius? radius; final double? spacing; final TipsNip nip; final double nipRadius; final double nipWidth; final double nipHeight; final Gradient? gradient; final Color? backgroundColor; final Widget? child; const TipsWidget( {Key? key, this.width, this.height, required this.nipOffset, required this.nip, this.radius, this.gradient, this.backgroundColor, this.nipRadius = 4, this.nipWidth = 16, this.nipHeight = 16, this.spacing = 16, this.child}) : super(key: key); @override Widget build(BuildContext context) { return Container( constraints: BoxConstraints( minWidth: width ?? 0.0, maxWidth: width ?? double.infinity, minHeight: height ?? 0.0), // width: width, // height: height, child: CustomPaint( painter: TipsPainter( backgroundColor: backgroundColor, gradient: gradient, clipper: TipsClipper( nip: nip, nipOffset: nipOffset, nipRadius: nipRadius, nipWidth: nipWidth, radius: radius, nipHeight: nipHeight), ), child: Padding( padding: EdgeInsets.only(top: nipHeight), // nip height child: child, )), ); } }