My question by the way isn't just about what programming language to use for the whole app, but: which one (or how) to design the GUI? Is there a specific programming language or some other way to do it?
There are many languages that have evolved around UI. They're usually variations of resource scripts. Additionally, languages like Java have built-in tools to help with UI layouts. And then there are GUI toolkits that let you do whatever you want in code.
If you are targeting Android specifically, the default language on the platform is Java. Following the tutorials, it isn't too difficult to make simple Android apps quickly, including a good UI that works on a variety of devices. Keeping it simple you can do quite a lot with little effort.
If you want support for multiple platforms, or if you are looking for more complex systems, see the Mobile Forum FAQ where 12 common cross-platform tools, engines, and SDKs are listed. There are more of them out there, but those are currently the frequently recommended items.
Also, now that this is in the Mobile and Console forum, there have been several recent threads discussing dealing with variations in screen resolutions and sizes. Have a look down the forum page, there is plenty to learn.