import 'package:flutter/material.dart'; import 'package:hexcolor/hexcolor.dart'; import '../../config/size_config.dart'; import '../../widgets/shared/app_scaffold_widget.dart'; import '../../widgets/shared/card_with_bg_widget.dart'; class PatientsScreen extends StatelessWidget { List litems = [ "1", "1", "1", ]; @override Widget build(BuildContext context) { return AppScaffold( // pageOnly: false, appBarTitle: 'Patients', body: Stack( children: [ ClipPath( clipper: CustomShapeClipper(), child: Container( height: SizeConfig.realScreenHeight * 0.40, decoration: BoxDecoration(color: Hexcolor('#FFDDD9')))), Positioned( // key: , // top: SizeConfig.realScreenHeight * 0.10, child: Container( // decoration: BoxDecoration(color: Colors.red), // margin: EdgeInsets.symmetric(vertical: 500), child: Column( children: litems.map((item) { return CardWithBgWidget( line1Text: 'Fahad AlSlehm - 324599', line2Text: '12/04/2020 - 02:00 PM', // line3Text: '', heightPercentage: 0.15, widthPercentage: 0.80); }).toList(), ), ), ) ], )); } } class CustomShapeClipper extends CustomClipper { @override Path getClip(Size size) { final Path path = Path(); path.lineTo(0.0, size.height); var firstEndPoint = Offset(size.width * .5, size.height / 2); var firstControlpoint = Offset(size.width * 0.25, size.height * 0.95 + 30); path.quadraticBezierTo(firstControlpoint.dx, firstControlpoint.dy, firstEndPoint.dx, firstEndPoint.dy); var secondEndPoint = Offset(size.width, size.height * 0.10); var secondControlPoint = Offset(size.width * .75, size.height * .10 - 20); path.quadraticBezierTo(secondControlPoint.dx, secondControlPoint.dy, secondEndPoint.dx, secondEndPoint.dy); path.lineTo(size.width, 0.0); path.close(); return path; } @override bool shouldReclip(CustomClipper oldClipper) => true; }