If you are familiar with Android's UI design, and its properties, it is pretty easy to program something for yourself. So if you want to learn to design a pretty UI, study Android. It doesn't matter game UI or not. It's same thing.
I recently made a ListView. I haven't tried it yet. So it is incomplete. But there is some rules, every UI element should obey.
1. Every UI element should inherit same class.
2. Dimensions and position should be dynamic. Also it's properties. For example program your list view for one column or more. If you need a two column list then you don't need another class.
3. Instead of hardcoding, use final variables. For example padding, if you use a final variable for that, you can change it more easily.
Don't forget Android, design some apps, study the UI. You will get a good idea.
NOTE: Android uses dpi system instead of the traditional pixels. So it can be viewed perfectly in different screen sizes and resolutions. If you are targeting multiple resolutions on your game, your UI dimensions should be dynamic. In 4K texts cannot be at the same size as a 720p display.
I almost forgot: Listeners. When you select something in the list view, listener tells the upper class (where you used list view) that the something is selected and which one is selected. Listeners are important.