When we know the length of list, it's recommended using ListView widget. This widget is used with builder function and the attributions are itemCount and itemBuilder. For itemBuilder, you can utilise Dismissible widget. This widget is used with onDismissed which is method, when user slides the item, it is executed. This time, remove function has been provided and child. This child comes with ExpenseItem.
To provide theme for flutter app, apply theme in MaterialApp widget. theme needs ThemeData widget to set theme and useMaterial3, colorScheme and appBarTheme, and so on. When user slide left or right to delete item, red background is convenient to see because it lets user know, it will be deleted, so to apply this, in Dismissible widget, you need to apply background with Container widget. For color attribution, you need to provide Theme.of(context).colorScheme.error.
If you want to show the snack back on the bottom of screen whenever the item is removed, you need to use ScaffoldMessenger.of(context).showSnackBar() and you need to add SnackBar() with duration, ocntent, action. This action includes SnackBarAction(label: 'Undo, onPressed() with set state)
If you want to remove item from list by swiping left, use Dismissible() widget. This widget requires key and onDimissed function. In this function, you need to pass function that remove item from array list, and also you need key, which has to be set using ValueKey(value).