customListTile function
Widget
customListTile(
{ - required IconData leadingIcon,
- required String title,
- required dynamic navigateTo(),
- required double height,
})
Implementation
Widget customListTile({
required IconData leadingIcon,
required String title,
required Function() navigateTo,
required double height,
}) {
return Container(
margin: const EdgeInsets.symmetric(horizontal: 8, vertical: 4),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(14),
boxShadow: [
BoxShadow(
color: Colors.grey.withValues(alpha: 0.08),
blurRadius: 10,
offset: const Offset(0, 2),
),
],
),
child: ListTile(
contentPadding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8),
leading: Container(
padding: const EdgeInsets.all(10),
decoration: BoxDecoration(
gradient: LinearGradient(
colors: [
CommonColors.primary.withValues(alpha: 0.15),
CommonColors.secondaryColor.withValues(alpha: 0.1),
],
),
borderRadius: BorderRadius.circular(12),
),
child: Icon(
leadingIcon,
color: CommonColors.primary,
size: 22,
),
),
title: customText(
text: title,
textColor: Colors.black87,
fontSize: 14.0,
fontWeight: FontWeight.w600,
textAlign: TextAlign.start,
textOverFlow: TextOverflow.ellipsis,
maxLines: 2,
),
onTap: navigateTo,
trailing: Container(
padding: const EdgeInsets.all(8),
decoration: BoxDecoration(
gradient: LinearGradient(
colors: [CommonColors.primary, CommonColors.secondaryColor],
),
borderRadius: BorderRadius.circular(10),
),
child: const Icon(
Icons.arrow_forward_ios,
color: Colors.white,
size: 14,
),
),
),
);
}