Have you used Qt's layouts? The problem with Android's layout system (if I understand it correctly) is that you specify how things are arranged relative to each other, so you never really know where something is. Added to that you have counter-intuitive behavior from things being calculated at time of addition rather than time of display (can't remember exactly, but I ran into something like that).
Qt is more declarative. I forget the function calls but in pseudocode you can do things like
horizLayout.add(Text("abc").setFixedWith(12));
horizLayout.add(Text("XYZ").setExpand().setAlign(kCentered));
horizLayout.add(Text("").setFixedWidth(12));
and you get something like:
[abc | XYZ | ]
(where [] is the width of the layout, and | separates each element.)
I've found it to be pretty intuitive.