About ListView... Let's say it's one of the Kivy widget that doesn't fit to the Kivy logic at all. Historically, i started a POC about it, then a contributor take it and worked a lot to have something that works for any sort of situations. And he tend up to something that cover lot of cases, but still bugs, and not easy to get it. Not to mention issue with performance. That's why i rebooted the ListView from scratch, and named it RecycleView (like RecycledView from android): https://github.com/kivy-garden/garden.recycleview
The visual design was taken from Meego / Android in the old days. We might be able to refresh the theme one day, if we have somebody that can contribute to it (i mean a real designer, not a coder). I rarely use the default theme, always extend a widget to put the designer visuals i got on customers projects.